一度に1つのジョブを実行し、1時間ごとにすべてのジョブを実行する方法は?

一度に1つのジョブを実行し、1時間ごとにすべてのジョブを実行する方法は?

次のコマンドセットがあります。

docker exec -u www-data bin/console api:execute --object=Account;
docker exec -u www-data bin/console api:execute --object=AgreementType;
docker exec -u www-data bin/console api:execute --object=CFProgramLevel;
docker exec -u www-data bin/console api:execute --object=Product;
docker exec -u www-data bin/console api:execute --object=Customer;
docker exec -u www-data bin/console api:execute --object=Distributor;

上記のコマンドはシーケンスなので、表示される順序で実行する必要があります。

私は何を達成すべきですか?

  • 一度に1つのジョブのみを実行
  • 順序を尊重します。たとえば、Account最初に実行する必要があるAgreementTypeAgreementType最初に実行する必要があるCFProgramLevelなどを意味します。
  • 毎時間すべてのシーケンスを実行

cronjobを使用しようとしていますが、どのように実装するのかわかりません。誰でも私に答えることができますか?

ベストアンサー1

コマンドをスクリプトに入れ、cron を使用してスクリプトをスケジュールします。

スクリプトrunstuff.sh:

#!/bin/sh

docker exec -u www-data bin/console api:execute --object=Account
docker exec -u www-data bin/console api:execute --object=AgreementType
docker exec -u www-data bin/console api:execute --object=CFProgramLevel
docker exec -u www-data bin/console api:execute --object=Product
docker exec -u www-data bin/console api:execute --object=Customer
docker exec -u www-data bin/console api:execute --object=Distributor

クローンタブ:

0 * * * * /path/to/runstuff.sh

または、

@hourly /path/to/runstuff.sh

あなたのクローンが理解している場合@hourly(確認man 5 crontab)。

これにより、既存のcronjobを編集せずに(必要な場合)スクリプトを変更できます。また、Docker呼び出しが正しい順序で実行され、ジョブのすべての処理が1つの場所(スクリプト)に収集されることを保証します。

おすすめ記事