Rumah > rangka kerja php > Laravel > Mari kita bincangkan tentang cara menggunakan tugas baris gilir dalam Laravel

Mari kita bincangkan tentang cara menggunakan tugas baris gilir dalam Laravel

PHPz
Lepaskan: 2023-04-14 17:15:46
asal
1064 orang telah melayarinya

Dalam Laravel, baris gilir ialah alat penting untuk pemprosesan tak segerak Apabila memproses tugas tak segerak, baris gilir membolehkan kami menggunakan sumber pelayan dengan lebih fleksibel dan meningkatkan kebolehskalaan dan prestasi aplikasi. Apabila kami menolak tugas yang memakan masa ke dalam baris gilir, aplikasi akan terus dilaksanakan secara tidak segerak dan kerja latar belakang akan diproses oleh baris gilir. Apabila terdapat tugasan dalam baris gilir yang perlu diproses, kami perlu menggunakan tugasan daripada baris gilir Artikel ini akan memperkenalkan anda kepada cara menggunakan baris gilir Laravel.

1. Konfigurasi baris gilir

Sebelum menggunakan fungsi baris gilir Laravel, kita perlu mengkonfigurasi baris gilir Konfigurasikan parameter berikut dalam fail konfigurasi .env

QUEUE_CONNECTION=redis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
Salin selepas log masuk
. Kami boleh mengkonfigurasinya mengikut keperluan kami sendiri Jika kata laluan tidak diperlukan, kami boleh menetapkan

kepada REDIS_PASSWORD. Dalam artikel ini, kami menggunakan Redis sebagai pemacu untuk baris gilir Laravel. null

2. Cipta tugas baris gilir

Dalam Laravel, kita boleh menggunakan arahan berikut untuk mencipta tugas baris gilir:

php artisan make:job MyJob
Salin selepas log masuk
Selepas penciptaan, dalam

direktori Fail PHP bernama app/Jobs akan dihasilkan dan kami hanya perlu menambah kod untuk tugasan yang ingin kami selesaikan. MyJob

3. Tolak tugas giliran

Apabila kita selesai menulis tugasan giliran, kita perlu menolaknya ke dalam baris gilir. Laravel menyediakan berbilang kaedah untuk menolak tugasan ke dalam baris gilir, berikut ialah dua kaedah biasa:

    Gunakan kaedah
  1. queue()
$this->dispatch(new MyJob($data));
Salin selepas log masuk
    Gunakan
  1. Kaedah dispatch()
MyJob::dispatch($data);
Salin selepas log masuk
Parameter bagi dua kaedah di atas ialah contoh kelas

dan MyJob ialah data yang dihantar ke dalam tugasan, yang boleh menjadi tatasusunan atau objek . $data

4. Gunakan tugasan beratur

Selepas kita menolak tugasan, kita perlu menghabiskan tugasan dalam baris gilir. Laravel menyediakan pelbagai cara untuk kita menggunakan tugasan gilir, seperti:

    Gunakan perintah
  1. php artisan queue:work
Perintah ini boleh memulakan proses pekerja gilir masuk tetingkap terminal Digunakan untuk memantau sama ada terdapat tugasan dalam baris gilir yang perlu diproses.

php artisan queue:work --queue=queue-name --tries=3
Salin selepas log masuk
Antaranya,

ialah nama baris gilir, dan queue-name ialah bilangan percubaan ralat, iaitu apabila tugasan gagal, proses memproses tugasan akan dicuba semula beberapa kali. Pada masa yang sama, dalam proses memulakan kerja baris gilir, kita juga boleh menentukan kaedah pelaksanaan tugas dalam baris gilir. tries

    Gunakan perintah
  1. php artisan queue:listen
Perintah ini juga digunakan untuk memantau tugas baris gilir Perbezaan daripada perintah

ialah ia boleh memantau berbilang nama baris gilir pada masa yang sama, dan kumpulkan tugas baris gilir. php artisan queue:work

    Gunakan
  1. daemon supervisor
Menggunakan

membolehkan kami memantau tugas baris gilir secara berterusan di latar belakang untuk mengelakkan proses pekerja baris gilir ditamatkan secara tidak dijangka. supervisor

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /path/to/artisan queue:work redis --sleep=3 --tries=3
autostart=true
autorestart=true
user=root
numprocs=8
redirect_stderr=true
stdout_logfile=/path/to/worker.log
Salin selepas log masuk
Di atas ialah kod sampel menggunakan

, dengan supervisor menentukan bilangan proses pekerja baris gilir untuk dibuka. numprocs=8

5. Ringkasan

Di atas adalah cara menggunakan baris gilir Laravel Mengikut keperluan dan situasi sebenar anda, anda boleh memilih untuk menggunakan kaedah yang disebutkan di atas untuk menggunakan dan memproses tugasan gilir. , jika anda tidak tahu banyak tentang baris gilir Laravel, anda boleh merujuk kepada dokumentasi rasmi untuk belajar.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara menggunakan tugas baris gilir dalam Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan