タスクはもともと月曜日から金曜日まで毎日午前 1 時に実行されていました。ログを確認したところ、日曜日の 20:00 に実行されていたことがわかりました。考えられる原因を調べてください。サーバーはシングルコア CPU です。 .
補足: スケジュールされたタスクのクラスには 2 つのスケジュールされたタスク AB があります。タスク A は月曜日から金曜日の 1 時に実行されます (@Scheduled(cron = "0 0 1 ? MON-FRI") )、タスク B が毎日 3 時に実行されます (@Scheduled(cron = " 0 0 3 ? *"))。ログを確認すると、月曜日から金曜日まではタスク A が最初に実行され、タスクB、つまりBは3時まで待たずに実行されます; 土曜日と日曜日の場合 タスクBはその時点で3時に実行されましたが、タスクAは日曜日の20時に実行されました。 。 。
过去多啦不再A梦2017-05-17 10:04:53
スケジュールされたタスクのプール サイズを指定しなかったと思います。そのため、デフォルトでは、すべてのスケジュールが 1 つのスレッドを共有します。スケジュールのプールサイズを指定する必要があります
xml
リーリー豆
リーリー追加:
スレッドを共有すると、重大な問題が発生します。タスク A が 2 時間以内に実行されない場合、タスク B の実行時間が遅れるか、実行されないこともあります。