4

深夜にCRONを実行する必要があります。これにより、会社で働く人々に定期的なタスクが自動的に割り当てられます。私が直面している状況は、私の会社は基本的に1つ以上のタイムゾーンを持つ米国全土にオフィスを持っているということです。したがって、基本的には、タイムゾーン固有のジョブを実行する必要があります。また、私のサーバーはUTCで実行されています。

EDTをベースタイムゾーン(UTCから4時間遅れている)として設定し、CRONを深夜にトリガーするように設定すると、CRON時間は次のようになります。

0 0 4 * *?

考えられる方法は、1回だけ設定するのではなく、次の時間に7回トリガーされるように設定することです。

0 0 4 * * ? [EDT]
0 0 5 * * ? [CDT]
0 0 6 * * ? [MDT]
0 0 7 * * ? [PDT]
0 0 8 * * ? [AKDT]
0 0 9 * * ? [HADT]
0 0 10 * * ? [HST]

したがって、いずれかがトリガーされると、どのオフィスがこのタイムゾーンに該当するかを確認し、その役割を果たします。

私が信じているように、これはうまくいくかもしれませんが、これの代わりに他の誰かが他のオプションを持っていますか?また、夏時間調整を修正する必要がありますが、これをどのように実行したいかはよくわかりません。

4

1 に答える 1

2

最も簡単なアプローチは、おそらく1時間に1回実行される単一のジョブを持ち、それがすべてのオフィスを通過し、ジョブが最後に実行されたときよりも後日であるものを見つけることだと思います。(もちろん、オフィスのタイムゾーンと一緒にそれを維持する必要があります。)これにより、DSTの問題が処理され、スケジューラーがしばらくダウンしたときの状況にも対処できます。出てきた、それはそれが逃したすべてのオフィスのために「追いつく」でしょう。

于 2012-09-04T05:47:46.757 に答える