3

以前にインスタンス化されたワークフローがまだ完了していない場合でも、コーディネーターに定期的にワークフローを具体化またはインスタンス化させることが可能かどうか/どのように強制するかを知りたいです。

説明させてください。次のような単純なコーディネーターがあります。

<coordinator-app name="myApp" frequency="${coord:hours(3)}" start="2015-01-01T0:00Z" end="2016-01-01T00:00Z" timezone="UTC" xmlns="uri:oozie:coordinator:0.4">
   <action>
      <workflow>
         <app-path>${myPath}/workflow.xml</app-path>
      </workflow>
   </action>
</coordinator-app>

頻度は 3 時間に設定されています。3 時間ごとに、コーディネーターが新しいワークフロー インスタンス/ジョブを「具体化」することを期待しています。

ここに私の問題があります: ワークフローの実行が 3 時間以上続く場合、コーディネーターは新しいワークフロー インスタンスを具体化せず、現在実行中のワークフローが最初に終了するのを待ちます。次に、次のワークフローをインスタンス化します。コーディネーターが起動したワークフローは、その頻度を超えて継続している場合、キューに入っています。

コーディネーターに3時間ごとに新しい仕事を開始させるにはどうすればよいですか? ありがとうございました

4

1 に答える 1

2

プロパティを使用する必要がありconcurrencyます。デフォルトでは 1 つです。そのため、キューイングに問題があります。妥当と思われる大きさに設定してください。

   <coordinator-app name="[NAME]" frequency="[FREQUENCY]" 
                    start="[DATETIME]" end="[DATETIME]" timezone="[TIMEZONE]" 
                    xmlns="uri:oozie:coordinator:0.1">
      <controls>
        <concurrency>[CONCURRENCY]</concurrency>
      </controls>

ドキュメントから:

コンカレンシー: コーディネーター ジョブは、コーディネーター アクションのコンカレンシーを指定できます。これは、コーディネーター エンジンが調整を開始する前に、同時に実行できるコーディネーター アクションの数 (RUNNING ステータス) です。

于 2015-07-31T12:20:05.347 に答える