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