Scheduled Jobのタイムゾーンを設定しよう

決まった時間に、律儀に処理をしてくれるScheduled Jobって便利ですよね。

ただ、インスタンスのタイムゾーンによっては、Scheduled Jobが設定した時間に動いてくれないという事もあります。

Scheduled Jobにはタイムゾーンを設定するフィールドがある

デフォルトビューのフォームには表示されていませんが、実はScheduled Jobにはタイムゾーンを設定するためのフィールドがあります。

Scheduled Jobにはタイムゾーンのフィールドがある。

タイムゾーンが未設定の場合、インスタンスのデフォルトのタイムゾーンが利用される。

Scheduled Jobのタイムゾーンを設定せずに、ブランクとした場合、インスタンスのデフォルトのタイムゾーンが適用されます。

たとえば、インスタンスのデフォルトタイムゾーンがイギリス時間であれば、Scheduled Jobのタイムゾーンがブランクの場合、イギリス時間で動くことになります。

インスタンスのデフォルトタイムゾーンが適用される


サマータイムという罠

なぜ、ここでタイムゾーンを注意しないといけないかというと、欧米にはサマータイムという概念がありますよね。これによって、ジョブの作動時間がずれてしまうことがあるんです。

たとえば、1月時点で日本時間7:30に動くスケジュールジョブを作るとします。この時イギリス時間(冬時間)との時差は9時間になるので、それぞれの時間では↓の様にScheduled Jobが動くことになります

(1月時点)
日本時間:07:30
イギリス時間:22:30

ここでサマータイムが始まり、イギリスの時間が1時間早まると、どうなるでしょうか。イギリス時間との時差が8時間になるので、↓の様に日本時間からみた時の実行時間が変わってしまうのです。

(夏時点)
日本時間:06:30←1時間早まる
イギリス時間:22:30←システムデフォルトの時間が優先される

Scheduled Jobのタイムゾーンは設定しよう

インスタンスのデフォルトタイムゾーンが海外の場合、サマータイムの影響を受けることがあるので、スケジュールジョブのタイムゾーンを個別で設定しましょう。


The world works with ServiceNow


この記事が気に入ったらサポートをしてみませんか?