スケジューリング期間は、ノードが自動的に実行される頻度を定義します。本番環境では、スケジューリングシステムがこの期間を使用してノードを実行します。定期タスクは、スケジュールの種類と期間に基づいて定期インスタンスを生成します。その後、システムはこれらのインスタンスを実行してタスクを自動的に実行します。
使用上の注意
ノードのスケジューリング頻度は、その上流ノードの期間とは無関係です。
ノードは、上流ノードの期間ではなく、自身のスケジューリング期間に基づいて実行されます。
DataWorks は、異なるスケジューリング期間を持つノード間の依存関係をサポートしています。
DataWorks では、定期タスクはスケジュールの種類と期間に基づいて定期インスタンスを生成します。たとえば、時間単位の期間を持つタスクは、毎日対応する数の時間単位のインスタンスを生成します。ノードはインスタンスとして実行されます。定期タスクに設定する依存関係は、本質的にノードによって生成されるインスタンス間の依存関係です。上流ノードと下流ノードのスケジューリング期間が異なる場合、定期インスタンスの数とその依存関係は異なります。異なるスケジューリング期間の上流と下流の依存関係の詳細については、「複雑な依存関係スケジューリングを構成するための原則と例」をご参照ください。
ノードは、スケジュールされた時間外にドライランを実行します。
DataWorks では、週次や月次ノードなど、毎日実行されるようにスケジュールされていないノードは、スケジュールされていない日にドライランを実行します。ドライランインスタンスのスケジュール時刻に達すると、ノードはすぐに「成功」ステータスを返します。これにより、下流の日次スケジュールノードがトリガーされ、正常に実行されるようになります。
ノードの実行時間。
この設定は、ノードの期待されるスケジュール時間のみを指定します。実際の実行時間は、上流ノードのスケジュール時間、実行リソースの可用性、ノードの実行時条件など、複数の要因に影響されます。
ノードのスケジュール時間を更新する際、Instance Generation Method を Generate instance on the next day (T+1) に設定し、ノードをオペレーションセンターに再公開すると、過去 2 日間に実行されたインスタンスのスケジュール時間は、新しいスケジュール時間に基づいて変更されます。まだ実行されていないインスタンスは、新しいスケジュール時間を使用します。
[インスタンス生成方法] を [今すぐインスタンスを生成] に設定した場合、新しいインスタンスは新しいスケジュール時間に基づいて生成されます。履歴インスタンスのスケジュール時間は変更されません。
時間指定スケジューリングのユースケース
ビジネスフロー内のすべてのノードが特定の時間に開始する必要がある場合、フローの最初のノードにのみ開始時刻を設定できます。下流ノードは、最初のノードが実行された後、その依存関係に従って順次実行されます。依存関係がノードの実行にどのように影響するかの詳細については、「依存関係がノードの実行に与える影響」をご参照ください。
ビジネスフロー内のノードに異なる開始時刻の要件がある場合、各ノードのスケジュール時間を個別に設定できます。
例
ビジネスフローでは、ノード C はノード B に依存し、ノード B はノード A に依存します。ノード A はビジネスフローの最初のノードです。以下の例で詳細を説明します。
図 | 説明 |
ビジネスフロー全体を 3:00 に開始する必要があります。ノード A のスケジュール時間を 3:00 に設定するだけで済みます。下流ノードのデフォルトのスケジュール時間は 0:00 ですが、ノード A が終了するのを待ってから実行を開始します。 | |
ノード A は 3:00 に実行されるようにスケジュールされています。ただし、ノード B は 5:00 に、ノード C は 6:00 に実行する必要があります。この場合、ノード B とノード C に個別のスケジュール時間を設定する必要があります。 | |
ノード A は 3:00 に実行されるようにスケジュールされていますが、ノード B は 5:00 に実行する必要があります。ノード C はデフォルト設定を使用し、ノード B が終了するのを待ちます。したがって、ノード C は 5:00 以降に実行されます。 |
スケジューリングメソッド
DataWorks は、分、時、日、週、月、および年単位のスケジューリングをサポートしています。各メソッドの設定と実行時の詳細を以下に説明します。
分単位のスケジューリング
分単位のスケジューリングの最小間隔は 1 分です。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
例
対象のノードは、毎日
00:00から23:59まで 30 分ごとに実行されるようにスケジュールされます。設定は次の図のようになります。説明cron 式は選択に基づいて自動的に生成され、手動で編集することはできません。

スケジューリングの詳細
次の図は、30 分ごとに実行されるようにスケジュールされたノードのインスタンスのスケジュール時間とパラメーター置換を示しています。
分単位のスケジューリングの依存関係のユースケースの詳細については、「分タスクの依存関係」をご参照ください。
時間単位のスケジューリング
注意
期間は閉区間 [開始, 終了] に基づいて計算されます。たとえば、タスクを 00:00 から 03:00 まで 1 時間ごとに実行するように設定した場合、時間範囲は [00:00, 03:00] で 1 時間の間隔となります。スケジューリングシステムは、毎日 4 つのインスタンスを生成し、スケジュールされた実行時間は 00:00、01:00、02:00、03:00 です。
ノードを毎日特定の時間範囲内で指定された間隔で実行するように設定できます。また、ノードが実行される複数の時点を選択することもできます。
定期スケジュールに設定された時点はスケジュール時間です。実際には、リソースの可用性などの要因により、実行時間がスケジュール時間と異なる場合があります。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
設定の詳細。
対象のノードは、毎日
00:00から23:59まで 6 時間ごとに自動的に実行されるようにスケジュールされます。設定は次の図のようになります。説明cron 式は選択に基づいて自動的に生成され、手動で編集することはできません。

スケジューリングの詳細
スケジューリングシステムは、毎日 4 つのインスタンスを生成します。インスタンスは、次の図に示すように、00:00、06:00、12:00、18:00 のスケジュールされた時刻に実行されます。
時間単位のスケジューリングの依存関係シナリオの詳細については、「時間タスクの依存関係」をご参照ください。
日次スケジューリング
日次スケジューリングとは、スケジュールされたノードが 1 日 1 回、指定された時刻に実行されることを意味します。定期タスクを作成すると、デフォルトのスケジュール時間は 00:00 から 00:30 までのランダムな時刻になります。必要に応じて、異なる実行時間を指定できます。たとえば、ノードを毎日 13:00 に実行するように指定できます。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
設定の詳細
インポート、統計処理、エクスポートの各ノードはすべて日次スケジュールのノードであると仮定します。
これらのノードの実行時間は毎日
13:00です。統計処理ノードはインポートノードに依存し、エクスポートノードは統計処理ノードに依存します。
このシナリオに基づくと、日次スケジュールノードの設定は次の図のようになります。
説明cron 式は選択に基づいて自動的に生成され、手動で編集することはできません。

スケジューリングの詳細
スケジューリングシステムは、ノードのインスタンスを自動的に生成して実行します。データ処理時間を次の図に示します。
スケジュールされたノードは、次の条件が満たされた場合にのみ実行されます:
上流ノードが正常に実行された。
ノードのスケジュールされた実行時間に達した。
どちらかの条件が満たされない場合、ノードは実行できません。これらの条件は、どの順序で満たされてもかまいません。
デフォルトのスケジュール時間は、
00:00から00:30までのランダムな時間です。日次スケジューリングの依存関係シナリオの詳細については、「日次タスクの依存関係」をご参照ください。
週次スケジューリング
注意
スケジュールされていない日には、週次スケジュールのノードはドライランの定期インスタンスを生成し、下流のインスタンスが期待どおりに実行されるようにします。
説明ドライランの動作: システムはタスクを実際に実行せずに、直接成功ステータスを返します。
インスタンスのステータスは「成功」になり、実行時間は 0 秒で、実行ログは生成されません。
スケジューリングリソースは消費されません。
ドライランノードに依存する下流ノードはブロックされません。つまり、ノードがドライランを実行しても、その下流の日次、時間、分レベルのタスクはスケジュールどおりに実行されます。
スケジューリング期間は、個々のノードごとに設定されます。特定の日にノードが実行されるかどうかは、上流ノードの期間ではなく、自身のスケジューリング期間に依存します。ただし、上流ノードのスケジュール時間は、下流ノードの実際の開始時刻に影響します。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
設定の詳細。
対象のノードは、月曜日と金曜日に実行するように設定されています。これらの日に生成されたインスタンスは、正常にスケジュールされ実行されます。火曜日、水曜日、木曜日、土曜日、日曜日に生成されたインスタンスはドライランを実行します。つまり、これらの日にスケジュールされた実行時間に達すると、コードを実行せずにインスタンスのステータスがすぐに「成功」に設定されます。設定は次の図のようになります。
説明cron 式は選択に基づいて自動的に生成され、手動で編集することはできません。

スケジューリングの詳細
スケジューリングシステムは、ノードのインスタンスを自動的に生成して実行します。
週次スケジュールノードで データバックフィル 機能を使用する場合、バックフィル用に選択する日付は業務日付であることに注意してください。業務日付 = スケジュール日 - 1 日。
例:
毎週月曜日に実行されるノードの場合、データバックフィルの業務日付として前の日曜日を選択する必要があります。
日曜日以外の業務日付を選択した場合、データバックフィルインスタンスはドライランを実行します。
複雑な依存関係シナリオの詳細については、「複雑な依存関係スケジューリングを構成するための原則と例」をご参照ください。
月次スケジューリング
注意
スケジュールされていない日には、月次スケジュールのノードはドライランの定期インスタンスを生成し、下流のインスタンスが期待どおりに実行されるようにします。
説明ドライランの動作: システムはタスクを実際に実行せずに、直接成功ステータスを返します。
インスタンスのステータスは「成功」になり、実行時間は 0 秒で、実行ログは生成されません。
スケジューリングリソースは消費されません。
ドライランノードに依存する下流ノードはブロックされません。つまり、ノードがドライランを実行しても、その下流の日次、時間、分レベルのタスクはスケジュールどおりに実行されます。
スケジューリング期間は、個々のノードごとに設定されます。特定の日にノードが実行されるかどうかは、上流ノードの期間ではなく、自身のスケジューリング期間に依存します。ただし、上流ノードのスケジュール時間は、下流ノードの実際の開始時刻に影響します。
月次スケジューリングでは、[指定時刻] を [毎月の最終日] に設定できます。これにより、ノードは毎月の最終日に実行されます。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
設定の詳細
対象のノードは、毎月の最終日に実行するように設定されています。月の最終日に生成されたインスタンスは、正常にスケジュールされ実行されます。他の日に生成されたインスタンスはドライランを実行します。つまり、これらの日にスケジュールされた実行時間に達すると、コードを実行せずにインスタンスのステータスがすぐに「成功」に設定されます。設定は次の図のようになります。
説明cron 式は選択に基づいて自動的に生成され、手動で編集することはできません。

スケジューリングの詳細
スケジューリングシステムは、次の図に示すように、ノードのインスタンスを自動的に生成して実行します。
月次スケジュールタスクで データバックフィル 機能を使用する場合、バックフィル用に選択した日付は 業務日付として扱われることに注意してください。業務日付 = スケジュール日 - 1 日。
例:
毎月 1 日に実行されるノードの場合、データバックフィルの業務日付として前月の最終日を選択する必要があります。
毎月の最終日に実行されるノードの場合、業務日付としてその月の最終日の前日を選択する必要があります。
他の業務日付を選択した場合、データバックフィルインスタンスはドライランを実行します。
複雑な依存関係シナリオの詳細については、「複雑な依存関係スケジューリングを構成するための原則と例」をご参照ください。
年次スケジューリング
注意
スケジュールされていない日には、年次スケジュールのノードはドライランの定期インスタンスを生成し、下流のインスタンスが期待どおりに実行されるようにします。
ドライランの動作: システムはタスクを実際に実行せずに、直接成功ステータスを返します。
インスタンスのステータスは「成功」になり、実行時間は 0 秒で、実行ログは生成されません。
スケジューリングリソースは消費されません。
ドライランノードに依存する下流ノードはブロックされません。つまり、ノードがドライランを実行しても、その下流の日次、時間、分レベルのタスクはスケジュールどおりに実行されます。
設定例
設定パス
データ開発でノード編集ページに移動します。右側のナビゲーションウィンドウで、[スケジューリング] をクリックします。[スケジュール時間] セクションで、ノードのスケジューリング期間を設定します。
設定の詳細
対象のノードは、毎年 1 月、4 月、7 月、10 月の最初の日と最後の日に実行するように設定されています。これらの指定された日に生成されたインスタンスは、正常にスケジュールされ実行されます。他の日に生成されたインスタンスはドライランを実行します。つまり、これらの日にスケジュールされた実行時間に達すると、コードを実行せずにインスタンスのステータスがすぐに「成功」に設定されます。設定は次の図のようになります。

スケジューリングの詳細
スケジューリングシステムは、次の図に示すように、ノードのインスタンスを自動的に生成して実行します。
複雑な依存関係シナリオの詳細については、「複雑な依存関係スケジューリングを構成するための原則と例」をご参照ください。