0

いくつかの DAG をデプロイする Google Cloud Composer の実験を開始します。

ここに画像の説明を入力

This DAG seems to be existing only locally. The master scheduler doesn't seem to be aware of its existence.手動でも実行できないことを示す情報ステートメントを持つ DAG の 1 つ。手動で開始すると、「実行中」の状態が永遠に続き、最初のタスクの実行が開始されません。

以下で詳しく説明するように、2 つの DAG の唯一の違いは、破損​​した DAG がカスタム オペレータを使用していることです。

ここで何が問題なのか、どうすれば修正できるのか分かりますか?

ありがとう

  1. hello2_gcp_plugins_v2は唯一の bash を呼び出しており、メール オペレーターは期待どおりに動作しています (メールを受け取りました)。scheduler_interval を構成すると、期待どおりに開始されます。スケジューラの間隔をNoneに設定しても、手動で開始するとうまく機能しています
  2. hello2_gcp_plugins_v5予想されるバケットに既に展開しているカスタム オペレーターを呼び出しています。カスタム オペレータは、HttpHook を介して API を呼び出してデータを取得し、GoogleCloudStorageHook を介して gcs バケットにアップロードするだけです。スケジューラの間隔が設定されていても、None のままであっても、常に UI に info ステートメントが表示され、DAG が自動的に開始されることはありません。手動で開始すると、永久に実行状態のままになり、最初のタスクがトリガーされることはありません。
4

2 に答える 2

3

私は自分の質問を修正しながら自分自身に答えます。他の誰かが同じ問題に陥っている場合に役立つかもしれません。

明らかではない場合でも、次の情報This DAG seems to be existing only locally. The master scheduler doesn't seem to be aware of its existence.は、私の DAG でのバグのあるオペレーターの使用によるものです。私の場合、カスタム オペレーターの 1 つです。

それをデバッグするには、DAG -> グラフ ビュー -> カスタム オペレータをクリック -> タスク インスタンスの詳細をクリックすると、オペレータのエラーのスタック トレースが表示されました。

オペレーターを修正し、新しいバージョンを GCS バケットにアップロードしました。数回更新した後、Web UI に情報メッセージが表示されなくなり、DAG が実行されました。

于 2018-06-27T04:32:34.173 に答える