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.
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:
Hasil pelaksanaan tugas tak segerak adalah seperti berikut, yang boleh menggambarkan kumpulan benang tugas tak segerak Konfigurasi telah berkuat kuasa:
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 @Schedule
Sangat cemerlang. Di sini, saya hanya akan memperkenalkan penggunaan quartz、 elastic-job 和 xxl-job
: xxl-job
@Schedule
@EnableScheduling
. @Schedule
cron
crontab
Sama 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 kaedahnya: SchedulingConfigurer
configureTasks
Selepas 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!