夏時間がスケジューリングされたトリガーに影響を及ぼす仕組み
スケジューリングされた頻度で実行するトリガーは、トリガーのタイム ゾーンに応じて、標準時間 (ST) と夏時間 (DST) の間を自動的に切り替わります。ただし、ユーザーは標準時間と夏時間の切り替わりが、どのようにトリガーに影響を与えうるかを考慮する必要があります。タイム ゾーンとトリガーのスケジューリングされる実行時刻に応じて、時間の変更は、トリガーが実行する時間、または実行するかどうかに影響を及ぼします。
例
上手にスケジューリングされていない夜間のトリガー
トリガーを作成し、2:00 AM (山岳部時間 (UTC -6:00) に毎晩実行するよう設定します。
春に、ある日出社すると、トリガーが実行しなかったことが判明しました。トリガーが失敗した理由は、1:59 が過ぎると時計は 2:00 をスキップして 3:00 まで飛び越えてしまったため、スケジュールした時刻が訪れなかったことによります。そして秋に、ある日出社すると、トリガーが 2 度実行したことが判明しました。これが起こった理由は、2:59 を過ぎると、時計が 2:00 に戻ってしまい、トリガーが再度実行したことによります。
上手にスケジューリングされていない依存関係のあるトリガー
あなたは、北米の数か所にオフィスを構える小規模の会社の一員であると想像してください。専任の詐欺対策チームの手を借りずに、あなたは、データ内で疑わしいパターンに反応するトリガーのある買掛金詐欺を特定します。これらのトリガーは、前日からの新しいデータに基づいて毎晩実行します。
- 重複支払い $1000 を超える疑わしい重複の支払いを探し、これらのレコードに優先度「高」を割り当てます。このトリガーは 2:00 AM (山岳時間) に実行します。
- 監査役に通知 優先度「高」のレコードを探し、会社の監査役に通知します。このトリガーは、重複支払いのようなトリガーの結果に依存しているため、30 分後の 1:30 AM (太平洋時間) に実行します。
秋に、ある日出社すると、優先度「高」の重複支払いがあるにもかかわらず、監査役には通知が送られていないことが判明しました。これが起こった理由は、1:59 AM (山岳時間) を過ぎると 1:00 AM へと戻ってしまい、この時刻が簡単に太平洋時間と同じであったことによります。その結果、監査役に通知が重複支払いより前に実行しました。
トリガーが期待どおりに実行することを徹底するためのヒント
- 自分のトリガーのタイム ゾーンで夏時間の開始と終了の時間を知ることです。世界の異なる地域では、異なる時刻、および異なるレベルの調整度で切り替わります。
- 時刻の変更によって影響を受ける時間に、トリガーをスケジューリングしないでください。
- トリガーがその他のトリガーの結果に依存する場合:
- すべてのトリガーに対して単一のタイム ゾーンを選定し、時間の変更により依存関係が壊れることのないようにします。または
- 時間の変更があったとしても実行の順序が壊れないように、依存するトリガー間で十分な時間をもたせるとるようにします。