Rumah  >  Soal Jawab  >  teks badan

java - pengecualian pelaksanaan tugas berjadual musim bunga

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_u1582phpcn_u15822713 hari yang lalu966

membalas semua(1)saya akan balas

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-17 10:04:53

    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.

    balas
    0
  • Batalbalas