java - pengecualian pelaksanaan tugas berjadual musim bunga
phpcn_u1582
phpcn_u1582 2017-05-17 10:02:53
0
1
998

Tugas itu pada asalnya dilaksanakan pada pukul 1 pagi setiap hari dari hari Isnin hingga Jumaat Selepas menyemak log, saya mendapati bahawa ia telah dilaksanakan pada pukul 20:00 pada hari Ahad Untuk mengetahui sebab yang mungkin, pelayan adalah CPU teras tunggal.
Tambahan: Terdapat dua AB dalam kelas tugas berjadual saya Tugas berjadual, tugasan A dilaksanakan pada pukul 1 dari Isnin hingga Jumaat (@Berjadual(cron = "0 0 1 ? ISNIN-JUMAAT")), tugasan B ialah dilaksanakan pada pukul 3 setiap hari (@Scheduled(cron = "0 0 3 ? * ")), semak log dan dapati dari Isnin hingga Jumaat, tugasan A dilaksanakan dahulu dan kemudian tugas B, iaitu B dilaksanakan tanpa menunggu sehingga pukul 3; apabila hari Sabtu dan Ahad, tugasan B dilaksanakan pada pukul 3, tetapi tugas A dilaksanakan pada pukul 20:00 pada hari Ahad. . .

phpcn_u1582
phpcn_u1582

membalas semua(1)
过去多啦不再A梦

Saya rasa anda tidak menyatakan saiz kumpulan tugasan yang dijadualkan, jadi secara lalai semua jadual berkongsi satu urutan. Anda perlu menentukan saiz kolam jadual

xml

<task :annotation-driven scheduler ="myScheduler" />
<task :scheduler id ="myScheduler" pool-size ="10" />

kacang

  @Bean(destroyMethod = "shutdown")
    public Executor taskScheduler() {
        return Executors.newScheduledThreadPool(10);
    }

Tambahan:
Berkongsi benang akan menyebabkan masalah yang serius. Jika tugasan A tidak dilaksanakan dalam masa 2 jam, masa pelaksanaan tugas B akan ditangguhkan atau bahkan tidak dilaksanakan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan