1

crontab に 3 つの異なるジョブ (jobA、jobB、jobC と呼びます) を設定しています。これらは異なる間隔で実行され、1 日の異なる時間に開始されます。たとえば、jobA は 1 時間に 1 回、正時 5 分に実行され、jobB は 30 分ごとに正時 9 分と 39 分に実行され、jobC は 15 分ごとに実行されます。それらは相互に依存していませんが、さまざまな理由で同時に実行することはできません。

問題は、1 つのジョブの実行に時間がかかり、最初のジョブが完了する前に別のジョブが開始され、問題が発生する場合があることです。

これらのジョブをキューまたはスプールして、現在実行中のジョブが終了するまで開始されないようにする方法はありますか? このソリューションを使用してみましたが、保留中のジョブが本来の順序で再開されるとは限りません。キューが最適ですが、これを行う方法については何も見つかりません。

4

1 に答える 1

1

を使用してそれを行うことはできませんcron。Cron は、特定の時間に特定のコマンドを実行するために使用されます。あなたが提案した解決策でそれを行うことができますが、それはより複雑になります。

高水準言語で要件を記述/コーディングし、必要なjavaものを達成するためにマルチスレッドプログラムを使用することをお勧めします。

Control-mは、他にも多くの機能を備えた別のスケジューリング ソフトウェアです。上記のユースケースをそれに統合することができます。

于 2012-12-17T11:58:05.867 に答える