Laravel menyediakan sistem baris gilir yang teguh yang membolehkan anda menangguhkan tugasan yang memakan masa, seperti menghantar e-mel atau memproses fail, untuk meningkatkan prestasi aplikasi.
Panduan ini menyelami perkara-perkara penting dalam menyediakan dan menggunakan baris gilir serta kerja dalam Laravel.
Baris gilir dalam Laravel mengendalikan pelaksanaan tugas (pekerjaan) di latar belakang, memastikan aplikasi anda responsif. Kes penggunaan biasa termasuk:
Untuk mula menggunakan baris gilir, ikut langkah berikut:
Laravel menyokong berbilang pemacu baris gilir, seperti Pangkalan Data, Redis dan Amazon SQS. Kemas kini fail .env untuk menetapkan pemacu yang diingini:
QUEUE_CONNECTION=database
Untuk pemacu pangkalan data, buat jadual yang diperlukan:
php artisan queue:table php artisan migrate
Pekerjaan ialah tugas yang ingin anda laksanakan di latar belakang.
Gunakan arahan make:job Artisan:
php artisan make:job ProcessEmail
Ini menjana kelas kerja dalam direktori AppJobs.
Di dalam kaedah pemegang kelas kerja, tambahkan logik untuk dilaksanakan:
namespace App\Jobs; class ProcessEmail { public function handle() { // Job logic here Mail::to('user@example.com')->send(new WelcomeEmail()); } }
Anda boleh menghantar kerja menggunakan kaedah penghantaran:
use App\Jobs\ProcessEmail; ProcessEmail::dispatch($emailData);
Untuk memproses kerja beratur, jalankan pekerja baris gilir:
php artisan queue:work
Arahan ini mendengar kerja dan memprosesnya dalam masa nyata.
Jika kerja gagal, Laravel membenarkan anda mencubanya semula:
php artisan queue:retry [job-id]
Gunakan jadual failed_jobs untuk memantau kegagalan dan menyelesaikan masalah.
Terokai panduan penuh tentang Binari Skrip untuk mendapatkan cerapan terperinci, contoh kod dan petua lanjutan.
Ada soalan tentang baris gilir Laravel? Letakkannya dalam ulasan atau ikuti saya untuk mendapatkan lebih banyak petua dan tutorial Laravel!
Atas ialah kandungan terperinci Menguasai Baris Gilir dan Pekerjaan dalam Laravel: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!