Rumah  >  Artikel  >  Java  >  Cara mengendalikan tugas tak segerak Springboot dan tugas berjadual

Cara mengendalikan tugas tak segerak Springboot dan tugas berjadual

PHPz
PHPzke hadapan
2023-05-25 20:05:121905semak imbas

1 Kata Pengantar

Dalam Springboot, tugasan tak segerak dan tugasan berjadual sering ditemui cara untuk menangani masalah Untuk menggunakan kedua-dua konfigurasi ini dengan baik dan tidak mengganggu perniagaan biasa, mereka perlu melakukannya dikonfigurasikan Konfigurasi tak segerak. Cara menyediakan benang pemprosesan tak segerak yang munasabah adalah teras dan kunci.

2 Tetapan tugas tak segerak

Menggunakan tugas tak segerak dalam projek ialah cara yang kerap dihadapi untuk menyelesaikan masalah Ia biasanya untuk mengurangkan masa menunggu permintaan dan melaksanakan pemprosesan latar belakang tak segerak bagi pemprosesan perniagaan, yang boleh meningkatkan pengalaman pengguna dan meningkatkan daya pengeluaran sistem.

Amat mudah untuk membuka tugasan tak segerak dalam springboot Hanya memerlukan dua langkah:

  • 1 Buka @EnableAsync anotasi .

  • 2 Tambahkan @Async pada kaedah yang memerlukan pemprosesan tak segerak.

Perlu diambil perhatian bahawa kaedah pelaksanaan tak segerak boleh mempunyai nilai pulangan, tetapi ia mestilah Future Ini adalah cara untuk menyerahkan tugas dan mendapatkan hasil pemprosesan dalam cara submit berbilang benang.

Pada ketika ini, konfigurasi dan penggunaan tugas tak segerak telah tamat. Tugas asynchronous juga menggunakan teknologi kumpulan benang berbilang benang Secara lalai, SimpleAsyncTaskExecutor digunakan untuk melaksanakannya, bagaimanapun, bagaimana nasib sendiri boleh ditinggalkan di tangan orang lain tugas menggunakan yang tersuai? Bagaimana untuk melaksanakan kumpulan benang Ini adalah soalan yang bagus, dan ada jawapannya, iaitu AsyncConfigurer. Ini ialah antara muka. Anda perlu melaksanakan kaedah getAsyncExecutor untuk mendapatkan kumpulan benang Jika anda perlu menangkap maklumat pengecualian, anda boleh melaksanakan kaedah getAsyncUncaughtExceptionHandler.

Kod khusus adalah seperti berikut:

Cara mengendalikan tugas tak segerak Springboot dan tugas berjadual

Hasil pelaksanaan tugas tak segerak adalah seperti berikut, yang boleh menggambarkan kumpulan benang tugas tak segerak Konfigurasi telah berkuat kuasa:

Cara mengendalikan tugas tak segerak Springboot dan tugas berjadual

3 Konfigurasi tugas berjadual

Tugas berjadual boleh dikatakan sangat biasa digunakan konfigurasi dalam pembangunan projek, kerana fungsi perniagaan Pampasan wujud, dan ia memainkan peranan penting Penggunaan tugas berjadual boleh dibahagikan kepada masa tetap dan ungkapan crontab, terdapat spring sendiri 🎜>. Dalam satu projek Ia digunakan secara meluas dan tidak memerlukan bantuan platform lain dan konfigurasi tambahan seterusnya dilahirkan, antaranya @ScheduleSangat cemerlang. Di sini, saya hanya akan memperkenalkan penggunaan quartz、 elastic-job 和 xxl-job: xxl-job@Schedule

    1 Dayakan anotasi
  • secara global.

    @EnableScheduling

  • 2 Tambahkan
  • anotasi pada tugasan yang perlu dilaksanakan dan nyatakan kaedah pelaksanaan, sama ada pelaksanaan tetap atau menggunakan ungkapan

    . @Schedulecron

  • Dalam pembangunan projek sebenar, ungkapan
masih digunakan secara meluas:

crontab

Cara mengendalikan tugas tak segerak Springboot dan tugas berjadualSama seperti pelaksanaan tugas tak segerak , pelaksanaan tugas berjadual juga mempunyai kumpulan urutan tugas tak segeraknya sendiri Antara muka yang perlu dilaksanakan di sini ialah

Cuma laksanakan kaedah

nya: SchedulingConfigurerconfigureTasks

Cara mengendalikan tugas tak segerak Springboot dan tugas berjadualSelepas semua fail konfigurasi selesai, anda dapat melihat bahawa konfigurasi kumpulan benang bagi tugas yang dijadualkan telah berkuat kuasa selepas dijalankan:

Atas ialah kandungan terperinci Cara mengendalikan tugas tak segerak Springboot dan tugas berjadual. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam