すべてのプロダクト
Search
ドキュメントセンター

:タスクのスケジューリングプロパティとスケジューリング依存関係の設定

最終更新日:Jan 11, 2025

このトピックでは、週単位でスケジュールされる同期タスクのスケジューリングプロパティとスケジューリング依存関係を設定する方法について説明します。

前提条件

  • start という名前のゼロロードノードと insert_data という名前の ODPS SQL ノードが作成されています。詳細については、ワークフローの作成をご参照ください。

  • write_result という名前の同期ノードが作成され、同期タスクが生成されます。詳細については、同期タスクの作成をご参照ください。

背景情報

DataWorks は、タスクの時間プロパティとスケジューリングの依存関係に基づいてタスクを実行するために使用できる強力なスケジューリング機能を提供します。 DataWorks は、有向非巡回グラフ(DAG)に基づいて、毎日数千万のタスクが正確かつ時間通りに実行されるようにします。 DataWorks では、分、時間、日、週、または月単位でタスクをスケジュールできます。詳細については、時間プロパティの設定をご参照ください。

時間プロパティの設定

  1. [datastudio] ページに移動します。

    DataWorks コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションペインで、[データ開発とガバナンス] > [データ開発] を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。

  2. DataStudio ページで、write_result ノードが属するワークフローを見つけます。 次に、write_result ノードを見つけ、ノード名をダブルクリックしてノードの設定タブに移動します。

  3. ノードの設定タブで、右側のナビゲーションペインの [プロパティ] をクリックします。

    説明

    手動でトリガーされるワークフローでは、すべてのノードを手動でトリガーする必要があり、DataWorks によって自動的にスケジュールすることはできません。

  4. [プロパティ] タブの [スケジュール] セクションで、ノードの時間プロパティを設定します。次の表にパラメーターを示します。

    image.png

    パラメーター

    説明

    インスタンス生成モード

    ノードに対して生成されたインスタンスが本番環境で有効になるモード。有効な値:[翌日][デプロイ直後]。詳細については、タスクの即時インスタンス生成の設定をご参照ください。

    繰り返し

    • 通常: ノードのタスクは、スケジューリングサイクルとスケジューリング時刻の設定に基づいて実行され、データを生成します。

    • 実行をスキップ: ノードのタスクは、スケジューリングサイクルとスケジューリング時刻の設定に基づいてスケジュールされます。ただし、ノードのステータスはフリーズに設定され、ノードはデータを生成しません。

    • ドライラン: ノードのタスクは、スケジューリングサイクルとスケジューリング時刻の設定に基づいてスケジュールされます。ただし、ノードはドライランを実行し、データを生成しません。

    スケジューリングサイクル

    ノードのスケジューリングサイクル。有効な値:分、時間、日、週、月、年。この例では、このパラメーターは週に設定され、[実行頻度] パラメーターは月曜日と火曜日に設定され、[スケジュールされた時刻] パラメーターは 00:00 に設定されています。この場合、ノードは毎週月曜日と火曜日の 00:00 に実行するようにスケジュールされます。

    Cron 式

    指定したスケジューリング時刻の CRON 式。このパラメーターの値は変更できません。

    タイムアウト定義

    タイムアウト期間。ノードのタスクが実行される時間が指定されたタイムアウト期間を超えると、タスクは失敗します。

    • タイムアウト期間は、自動トリガーされたタスクインスタンス、データバックフィルインスタンス、およびテストインスタンスに適用されます。

    • デフォルトのタイムアウト期間は 72 時間から 168 時間です。システムは、システム負荷に基づいてタスクのデフォルトのタイムアウト期間を調整します。

    説明
    • 168 時間を超えないカスタムタイムアウト期間を指定できます。

    • タスクがタイムアウトした場合、タスクによって消費されたトラフィックとコンピューティングリソースは引き続き課金されます。

    再実行

    ノードのタスクの再実行を許可するかどうかを指定します。有効な値:[実行ステータスに関係なく許可][障害時のみ許可]、および [実行ステータスに関係なく許可しない]

    障害時の自動再実行

    このパラメーターは、[再実行] パラメーターを [実行状態に関係なく許可] または [失敗時にのみ許可] に設定した場合にのみ表示されます。エラー発生後にノードでタスクを再実行できるように関連設定を構成できます。 [実行状態に関係なく許可しない] に [再実行] パラメーターを設定した場合、このパラメーターは表示されません。この場合、エラー発生後もノードのタスクは再実行されません。

    再実行回数

    タスクがスケジュールどおりに実行できなかった後、ノードのタスクが再実行されるデフォルトの回数。このパラメーターは、[障害時の自動再実行] チェックボックスをオンにした場合にのみ表示されます。

    再実行間隔

    タスクがスケジュールどおりに実行できなかった後、ノードのタスクが再実行される間隔。このパラメーターは、[障害時の自動再実行] チェックボックスをオンにした場合にのみ表示されます。有効な値:1 ~ 30。デフォルト値:30。単位:分。

    有効期間

    タスクがスケジュールどおりに実行される有効期間。ビジネス要件に基づいて有効期間を指定します。

    時間プロパティの詳細については、時間プロパティの設定をご参照ください。

スケジューリング依存関係の設定

ノードの先祖ノードを設定できます。スケジューリングシステムは、ノードのスケジュール時刻が到来したかどうかに関係なく、先祖ノードに対して生成されたインスタンスが正常に実行された後にのみ、ノードに対して生成されたインスタンスを実行します。

たとえば、現在のノードの先祖ノードとして insert_data という名前のノードを設定します。現在のノードに対して生成されたインスタンスは、insert_data ノードに対して生成されたインスタンスが正常に実行された後にのみ実行できます。

説明

DataWorks のスケジューリング依存関係は、スケジューリングシナリオにおけるノード間の関係を定義します。ノードのスケジューリング依存関係を設定すると、ノードは、その先祖ノードが正常に実行された後にのみ実行を開始します。ノードのスケジューリング依存関係を設定し、ノードの先祖ノードがテーブルデータを生成した後、ノードは生成されたテーブルデータをクレンジングするか、先祖ノードによってクレンジングされたテーブルデータを他のデータベースに配信します。スケジューリング依存関係のロジックの詳細については、スケジューリング依存関係の設定ガイドをご参照ください。

デフォルトでは、スケジューリングシステムは、各ワークスペースのルートノードとして ワークスペース名_root の形式で名前が付けられたノードを作成します。現在のノードに先祖ノードが設定されていない場合、現在のノードはルートノードに依存できます。

タスクのコミットとデプロイ

  1. write_result ノードの設定タブで、上部のツールバーの 保存 アイコンをクリックしてノードを保存します。

  2. タスクをコミットします。

    説明

    タスクをコミットする前に、[プロパティ] タブで [再実行] パラメーターと [親ノード] パラメーターを設定する必要があります。

    1. 上部のツールバーの 提交 アイコンをクリックします。

    2. [送信] ダイアログボックスで、[変更の説明] パラメーターを設定します。

    3. [確認] をクリックします。

    [標準モード] のワークスペースを使用している場合、[確認] をクリックすると、タスクは開発環境にコミットされます。 [定期スケジューリング] のためにタスクを [本番環境] にデプロイする場合は、左上隅にある [デプロイ] タブをクリックしてタスクをデプロイします。詳細については、ノードのデプロイをご参照ください。

    スケジューリングシステムがタスクのインスタンスを生成して実行できるように、タスクをスケジューリングシステムにコミットする必要があります。スケジューリングシステムは、指定されたスケジューリングサイクルに基づいて、翌日から特定の時点でタスクに対して生成されたインスタンスを実行します。

    説明

    23:30 以降にタスクをコミットすると、スケジューリングシステムは 3 日目にタスクのインスタンスを生成して実行します。

次のステップ

これで、バッチ同期タスクのスケジューリングプロパティとスケジューリング依存関係を設定する方法を学習しました。次のチュートリアルに進むことができます。次のチュートリアルでは、コミットされたタスクに対して定期的に O&M 操作を実行し、実行ログに基づいてタスクで発生したエラーをトラブルシューティングする方法を学習します。詳細については、ノードの実行とノードで発生したエラーのトラブルシューティングをご参照ください。