0

A と B という 2 つのスケジュールされたプロセスがあるとします。

A が完了するまで B を実行してはならないことを考えると、この依存関係を適切に強制するにはどうすればよいでしょうか?

検討されたアプローチ:

  1. 完了したら、A スケジュール B を用意します。これには、何らかの理由で A が失敗した場合に B がスケジュールされないという欠点があります。

  2. B が実行されたら、A に ping を実行して、後者が完了したかどうかを確認します。これがどのように達成されるか (ネットワーク、ファイル、データベース レコード、メッセージ キュー) は、3 番目の依存関係を導入するために厄介で問題になる可能性があります。

  3. A と B を 1 つのプロセスに結合します。これには、2 つが密接に結び付いているという欠点があり、必要に応じてどちらか一方を分離して再実行することが難しくなります。

考え?

4

2 に答える 2

2

オプション1は、質問に直接答えます。BがAに依存していて、Aが失敗した場合、AがBをスケジュールしないということは、Bが発生しないことを意味します。

BがAの後に実行する必要があるだけでない限り、Aが成功したかどうかは関係ありません。

その場合、次のようなもの(bashで)が機能します:

A && B
于 2008-10-07T15:44:07.703 に答える
1

手順3を変更できます。2つのプロセスを作成して単独で実行し、次に他の2つを実行する3番目のプロセスを作成します。

于 2008-10-07T15:45:06.577 に答える