奇妙な質問があります(少なくとも私にとっては!)が、どのようにアプローチすればいいのかさえわかりません。
背景
いくつかのバッチ ジョブ (cron 経由で呼び出される Python スクリプト、または bash スクリプトによって呼び出される Python スクリプト) があります。たとえば、20 個の ETL ジョブと 20 個のデータ処理ジョブです。これらは異なる時間に発生します。
現在のアプローチ
私はサーバーをオンにしたまま、cron ジョブを実行してスクリプトを予定の時間に実行します (すべてが同時に実行されるわけではありません。1 つは午後 1 時に実行され、もう 1 つは午後 5 時に実行される場合があります)。これは今のところ完璧に機能しています。
問題 私はコストを節約したいのですが、ジョブは設定した時間に正確に開始する必要はなく、数分または 1、2 時間遅れる可能性があるため、スケジュールに従ってサーバーを起動するプリエンプティブ インスタンスの使用を検討していました。
私は、サーバーを 1 時間ごとに起動し、スケジュールを過ぎてまだ実行されていないジョブを処理することを考えていました。
これをどうやって行うのか全く分かりません。Ubuntu 内でこれをスケジュールする方法はありますか? 外部 DB を設定し、どのプロセスを開始する必要があるかを調べるためにそれをクエリするスクリプトを用意しようかと考えましたが、やりすぎだと感じました。これはおそらく、もっと簡単な解決策がある一般的な問題なのではないかと思います。
私にお知らせください!