Baculaの設定にはRun After
パラメーターがあります。しかし、いくつかのジョブが終了するのを待ってからスクリプトを実行する必要がある場合はどうなりますか?
1つを除くすべてのジョブを同じ 優先度 、同じ開始時刻にし、 同時実行 を1に設定し、 混合優先度を禁止 にします。次に、最後のジョブについて、優先度を低く設定し、他のジョブより1分(または数分)遅れて開始するようにスケジュールします。 Run After
をその最後のジョブにのみ配置します。
たとえば、job1、job2、job3、job4、job5があるとします。 job1-4にはpriority=10
があり、job5にはpriority=20
とRun After
があります。何が起こるかというと、baculaはjob1-4を同時にキューに入れますが、それらを1つずつ実行します(Maximum Concurrent Jobs = 1
のため)。それらがすべて完了した場合にのみ、job5が実行され(Allow Mixed Priority=no
により、優先度の高いすべてのジョブが完了するのを待ってから開始します)、job5が完了した場合にのみ、baculaはRun After Job
スクリプトを実行します。 )。したがって、スクリプトは、job1〜5がすべて完了した後にのみ実行されます。
複数のジョブを並行して実行したい場合は、同時実行性を1より高く保つこともできます-それでも機能します。
関連するすべてのジョブを1つのスクリプトにまとめてから、[実行後]を使用します。