RSS DEV コミュニティ

退屈な作業の自動化 — Python で Cron ジョブを超える 🐍

まだバックエンドワークフローにcronを頼っている場合は、Upgradeする時です。 最近のプロジェクトの一つで、async互換のタスクランナーを構築し、伝統的なcronロジックを完全に置き換えました。システムスケジューラーの制限にぶつかった経験から、モジュラーランナーを構築し、今や私の自動化ジョブの数十件を支えているものです — SEOリンクドロップからデータフェッチングスクリプトまで。 🛠️ なぜCronを捨てたのか: 失敗のデバッグが困難 ネイティブのリトライロジックが無い サーバー間での管理が困難 何が動作し、何がサイレントに失敗しているのかの可視性がゼロ 💡 私のソリューション: FastAPIを制御エンドポイントに使用 ThreadPoolExecutorを並行処理に使用 シンプルなYAMLベースのタスク定義 外部イベントのためのオプショナルなウェブフックトリガー Delta Executorという大きなプロジェクトの下で、この全体が動作しており、オフページSEOワークフローと構造化リンク自動化も扱っています。 ✅ 私が得たもの: ログ、メトリクス、ジョブヒストリー ダイナミックコントロール(一時停止/再開/キル) すべてのための1つのツール:API ping、サイトマップ、リンクインデックスングなど 自動化システムを構築している誰かがcronスパゲッティに疲れている場合は、私は解決策を聞きたいと思います。興味がある場合は、このタスクランナーの最小版をオープンソース化することができます。
favicon
dev.to
Automating the Boring Stuff — Beyond Cron Jobs with Python 🐍