このトピックでは、インスタンスが生成されない、または失敗するなど、タスクインスタンスに関する一般的な問題のトラブルシューティング方法について説明します。
オペレーションセンターでタスクが見つからない
- 現象
オペレーションセンターの [定期タスク] ページに対象のタスクが表示されません。
- 原因
ノードが本番環境にデプロイされていません。
- 解決策
ノードが正常にデプロイされたことを確認してください。デプロイメントの失敗がないか確認します。
定期タスクでインスタンスが生成されない
- 現象
タスクに定期スケジューリングが設定されているにもかかわらず、インスタンスが生成されません。
- 原因
ワークスペースの定期スケジューリングが無効になっている可能性があります。
- 解決策[ワークスペース設定] ページの [スケジューリング設定] セクションに移動し、[定期スケジューリング] のスイッチがオン (緑色) になっていることを確認してください。説明 必要に応じて、Alibaba Cloud アカウント (root ユーザー) の所有者に連絡し、ワークスペースのスケジューリングを有効にしてもらってください。
特定のタスクでインスタンスが生成されない
- 現象
ワークフロー内の他のノードはスケジュールどおりにインスタンスを生成しますが、特定の 1 つのノードだけインスタンスの生成に失敗します。
- 原因
- ノードが 23:30 のカットオフタイム以降にデプロイされた。
- ノードに先祖ノードがなく、隔離ノードになっている。
- ノードまたはその先祖ノードが、設定された有効期間外である。
- ノードが新規作成され、その [インスタンス生成モード] が [翌日] に設定されている。
- 解決策
- デプロイメント時間を確認します。[タスクデプロイメント] ページの [デプロイメントの確認] ダイアログボックスに、T+1 ノード (翌日生成) の場合、23:30 より前にデプロイされた変更は同日に有効になり、23:30 以降にデプロイされた変更は翌日に有効になるという通知が表示されます。ノードがこの時間以降にデプロイされた場合、当日のインスタンスは生成されません。
- 隔離されていないか確認します。[定期タスク DAG] を右クリックして、ノードが隔離されており、先祖ノードがないかどうかを確認します。隔離ノードのアラートは直ちに解決してください。説明 依存関係が変更され、上流の入力がなくなった場合、ノードは隔離されることがあります。これを修正するには、上流と下流の依存関係を再定義し、ノードを再デプロイします。
- 有効期間を確認します。期限切れのタスクは定期インスタンスを生成しません。オペレーションセンターで、インスタンスの [プロパティ] を表示し、[スケジューリング有効期間] フィールドを確認します。日付範囲が
1970-01-01 00:00:00 ~ 1970-02-01 00:00:00のように期限切れになっている場合、タスクは失効しています。DataStudio の [スケジューリング設定] に移動して、有効期間を更新します。
インスタンスは生成されるが実行されない
- 現象
定期タスクのインスタンスは生成されますが、[実行待ち] (灰色) の状態のままで実行されません。
- 原因
先祖ノードが正常に完了していないため、すべての下流の実行がブロックされています。
- 解決策[DAG] で、灰色のインスタンスを右クリックし、その先祖ノードを展開して、[実行中]、[失敗]、[待機中]、または [フリーズ] 状態のノードがないか確認します。説明 トラブルシューティングの詳細な手順については、「タスクが実行されない」をご参照ください。先祖ノードのステータス
- 紫 (フリーズ)
インスタンスはフリーズされており、実行されません。これにより、すべての子孫ノードがブロックされます。インスタンス詳細ページの [操作ログ] を確認して、誰が、なぜインスタンスをフリーズしたのかを特定します。
- 黄 (待機中)
インスタンスは、スケジュール時刻になるのを待機しています。インスタンス詳細を開いて、スケジュール時刻を確認します。
あるいは、スケジューリングリソースを待機している可能性もあります。その場合はログに示されます。これは、プロジェクトのタスク同時実行数上限に達した場合に発生します。どのタスクがリソースを使用しているかを特定するには、インスタンスを右クリックして [インスタンス診断] を選択します。
- 灰 (実行待ち)
インスタンスは、先祖ノードが完了するのを待機しています。依存関係をトレースするには、灰色の各インスタンスを右クリックし続け、その先祖ノードを展開します。
依存関係チェーン全体が灰色の場合、開始ノードは、それをトリガーするために必要な依存関係が欠けている隔離ノードである可能性が高いです。
トラブルシューティングを迅速化するには、組み込みの診断ツールを使用します。オペレーションセンターの DAG で、ノードを右クリックし、[先祖ノードを表示] > [上流解析] を選択して依存関係を分析するか、[インスタンス診断] をクリックして自動チェックを実行します。[子孫ノードを表示] を選択して 1〜6 レベルを展開し、下流の依存関係を表示することもできます。説明- タスクは、スケジュール時刻に達している、スケジューリングリソースが利用可能である、すべての先祖ノードが正常に実行されている、タスクがフリーズされていない、というすべての条件が満たされた場合にのみ実行できます。
- 前述の他のどのステータスでもなく、ワークフロー全体が灰色で表示される場合、依存関係の変更によってワークフロー全体が隔離されている可能性があります。
- 紫 (フリーズ)
タスク実行の前提条件
- スケジュール時刻に達していること。 スケジュール時刻を待機しているインスタンスは、[待機中] (黄色) ステータスになります。
- すべての先祖ノードが正常に完了していること。 正常に実行されたノードは、[成功] (緑色) ステータスになります。オペレーションセンター内の DAG で先祖ノードのステータスを確認します。
- 十分なスケジューリングリソースが利用可能であること。 リソースを待機しているインスタンスは、[待機中] (黄色) ステータスになります。プロジェクトの同時実行数上限に達したため、タスクがゲートウェイリソースを待機していることがログに示されます。
- インスタンスがフリーズされていないこと。 フリーズされたインスタンスは、[フリーズ] (紫色) ステータスになり、実行されません。