0

毎日さまざまな時間に実行されるスケジュールされたジョブがいくつかあります。これらのジョブには、次のような結果のログが含まれます。

<cflog file="#logname#"  text="START #logname#">
<cfoutput>#mid(now(),6,19)# Scheduled Jobs running on Production (#server.Name#)

先週末、時計が 1 時間進んだとき、これらのジョブはすべて 1 時間遅れて実行されました。以下は、毎日 00:05 に実行されるジョブの上記 2 行の出力例です。まずは、時刻変更直前。

"Information","jrpp-213","03/10/13","00:05:00",,"START scheduledjobs_0005"
"Information","jrpp-213","03/10/13","00:05:00",,"start sheduledjobs_0005"

次に、時間変更後の初回。1時間後に実行されます。

 "Information","jrpp-343","03/11/13","01:05:00",,"START scheduledjobs_0005"
 "Information","jrpp-343","03/11/13","01:05:00",,"start sheduledjobs_0005"

そしたら翌日には元通り。

"Information","jrpp-111","03/12/13","00:05:00",,"START scheduledjobs_0005"
"Information","jrpp-111","03/12/13","00:05:00",,"start sheduledjobs_0005"

これらのジョブによって生成されたファイルのタイムスタンプも、ジョブの実行予定時刻より 1 時間遅れていました。

誰かが似たようなものを見たことがありますか?これを引き起こす原因、またはそれを防ぐ方法を知っている人はいますか? バージョン 9,0,1,274733 を実行しています。

4

1 に答える 1

2

私は前にこれを見たことがあります。スケジューラーは、スケジュールされた開始時間に24時間を追加することにより、毎日のタスクの次の実行を計算します。この場合、日曜日の00:00 STに24時間を追加すると、次の開始時刻は月曜日の01:05DSTになります。スケジューラーは、スケジュールされた開始時刻(現在は00:00 DST)に24時間を追加するため、翌日に自分自身を修正します。

このように処理することが重要です。なぜなら、誰かが不足している時間にタスクを実行するようにスケジュールした場合、そのタスクはその日にまったく実行されないからです。さらに、タスクが秋の余分な時間に実行されるようにスケジュールされている場合、実際には2回実行されます。

于 2013-03-12T20:38:25.127 に答える