このトピックでは、夏時間 (DST) を導入しているリージョンのワークスペースで、DataWorks がこれらの切り替えをどのように処理するかを説明します。
背景情報
DataWorks は、夏時間の開始日と終了日にノードが正しく実行されることを保証します。夏時間を導入しているリージョンの時間単位ノードを例に取ると、切り替え日の処理ロジックは次のとおりです。
- 夏時間の開始時 (時計が進む場合):
- インスタンス数:夏時間は
02:00に開始され、時計が 1 時間進んで02:00から03:00になります。午前 2 時台がスキップされるため、DataWorks はこの時間のインスタンスを生成しません。その結果、時間単位のノードは、この日に 23 個のインスタンスしか生成しません。 - インスタンスのスケジュール時刻:夏時間開始時の時間シフトにより、一部のノードのスケジュール実行時刻が調整されます。たとえば、時間単位ノードの 4 番目のインスタンスのスケジュール時刻は、通常は
04:00ですが、05:00に変更されます。
重要- 日次、週次、または月次ノードの場合、スケジュールされた実行時刻が夏時間開始日のスキップされたタイムウィンドウ内にあたる場合、ノードは実行されません。代わりに、そのインスタンスはドライランに設定されます。
- この日、
03:00から 10 分を引くと01:50になります。
- インスタンス数:夏時間は
- 夏時間の終了時 (時計が戻る場合):
インスタンス数:時間単位のノードは 24 個のインスタンスを生成します。システムは02:00にスケジュールされた 2 つのインスタンスを生成しますが、2 回目に発生する02:00のインスタンスのみを保持します。重要 繰り返される時間のため、2 回目の02:00から 10 分を引くと02:50になります。
制限事項
夏時間の切り替えは、DST を導入しているリージョンのノードにのみ影響します。
夏時間開始時の影響
影響 1:インスタンスの生成
- シナリオ 1:時間単位および分単位のノードへの影響時間単位のノードを例に取ります。時間単位のノードが以下のスケジューリング周期で構成されている場合、DataWorks は 1 時間に 1 つのインスタンスを生成し、通常の日では合計 24 個のインスタンスを生成します。夏時間の開始日には、
02:00のインスタンスがスキップされるため、23 個のインスタンスしか生成されません。パラメーターの例:インスタンス生成モードが翌日 (T+1) に生成、スケジューリングタイプが自動トリガー、スケジューリングタイムゾーンがAmerica/New_York、スケジューリング周期が時間で、開始時刻が 00:00、終了時刻が 23:59、間隔が 1 時間に設定されています。説明 夏時間は02:00に開始されます。時計が 1 時間進んで02:00から03:00になるため、02:00にはインスタンスが生成されません。 - シナリオ 2:日次ノードへの影響日次ノードの場合、DataWorks は夏時間の開始日にも 1 つのインスタンスを生成します。ただし、ノードが正常に実行されるかどうかは、そのスケジュール時刻によって異なります。
- ノードのスケジュール時刻が
02:00–03:00のウィンドウ内にある場合、インスタンスは Dry Run に設定されます。 - スケジュール時刻が
02:00–03:00のウィンドウ外にある場合、ノードは正常に実行されます。
02:00に設定した場合、対応する cron 式は00 00 02 * * ?となります。 - ノードのスケジュール時刻が
影響 2:パラメーターの置換
- シナリオ 1:ノードが
03:00にスケジュールされ、スケジューリングパラメーター$[hh24-1/24]を使用する場合、パラメーターは通常02:00に解決されます。夏時間が開始されると、01:00に解決されます。 - シナリオ 2:ノードが
02:00にスケジュールされ、スケジューリングパラメーター$[hh24-1/24]を使用する場合、パラメーターは通常01:00に解決されます。夏時間が開始されても、01:00に解決されます。これが日次ノードの場合、インスタンスは Dry Run に設定されます。
夏時間終了時の影響
影響 1:インスタンスの生成
時間単位のノードの場合、夏時間が終了する日は 25 時間の長さになり、02:00 時が 2 回発生します。ただし、DataWorks は 2 回目に発生する 02:00 のインスタンスのみを保持するため、ノードに対して 24 個のインスタンスしか生成しません。
影響 2:パラメーターの置換
ノードがインスタンスのスケジュール時刻に基づいて計算されるスケジューリングパラメーターを使用する場合、25 時間の日であるため、値が通常の日とは異なる可能性があります。具体的なシナリオは次のとおりです。
- シナリオ 1:ノードが
03:00にスケジュールされ、スケジューリングパラメーター$[hh24-2/24]を使用する場合、パラメーターは通常01:00に解決されます。夏時間が終了すると、02:00に解決されます。 - シナリオ 2:ノードが
02:00にスケジュールされ、スケジューリングパラメーター$[hh24-1/24]を使用する場合、パラメーターは通常01:00に解決されます。夏時間が終了すると、02:00に解決されます。