Rumah > rangka kerja php > Laravel > teks badan

Cara menggunakan baris gilir laravel

PHPz
Lepaskan: 2023-04-12 09:44:19
asal
1098 orang telah melayarinya

Laravel ialah rangka kerja PHP yang sangat popular yang popular kerana kesederhanaan, kemudahan penggunaan dan ciri yang berkuasa. Dalam Laravel, baris gilir ialah fungsi yang sangat berguna yang boleh membantu pembangun menyelesaikan masalah seperti konkurensi yang tinggi dan volum data yang besar. Dalam artikel ini, kami akan meneroka beberapa asas baris gilir Laravel dan cara menggunakannya.

1. Apakah itu Laravel Queue

Laravel Queue ialah alat untuk memproses tugasan tak segerak dan kemudian memproses tugasan ini secara tidak segerak di latar belakang tanpa menjejaskan permintaan semasa. masa tindak balas. Baris gilir boleh digunakan untuk mengendalikan pelbagai tugas, seperti menghantar e-mel, memproses imej, menjana PDF, dsb.

Prinsip kerja baris gilir adalah sangat mudah: tugasan mula-mula dimasukkan ke dalam baris gilir, dan kemudian proses latar belakang melaksanakan tugasan ini secara tidak segerak. Barisan gilir dalam Laravel menyokong berbilang pemacu baris gilir, seperti Redis, RabbitMQ, Beanstalkd, dsb. Pembangun boleh memilih pemacu baris gilir yang sesuai dengan keperluan mereka.

2. Cara menggunakan Laravel Queue

Menggunakan Laravel Queue adalah sangat mudah, cuma ikuti langkah berikut:

  1. Konfigurasikan pemandu gilir

Mengkonfigurasi pemacu gilir dalam Laravel adalah sangat mudah Anda hanya perlu membuka fail config/queue.php dan mengkonfigurasi pemacu gilir yang sepadan. Sebagai contoh, menggunakan Redis sebagai pemacu baris gilir, anda boleh mengkonfigurasinya seperti ini:

'connections' => [
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => 'default',
        'retry_after' => 90,
        'block_for' => null,
    ],
],
Salin selepas log masuk
  1. Buat kelas tugas

Mencipta kelas untuk memproses tugas adalah sangat mudah, anda hanya perlu menentukan kaedah pemegang Itu sahaja. Sebagai contoh, kami mencipta kelas tugas untuk menghantar e-mel:

<?php

namespace App\Jobs;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Mail;

class SendEmail implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    protected $user;

    /**
     * Create a new job instance.
     *
     * @param $user
     */
    public function __construct($user)
    {
        $this->user = $user;
    }

    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        Mail::to($this->user->email)->send(new Welcome($this->user));
    }
}
Salin selepas log masuk
  1. Tambahkan tugasan pada baris gilir

Menambah tugasan pada baris gilir adalah sangat mudah, cuma gunakan kaedah penghantaran. Sebagai contoh, kita boleh menggunakannya seperti ini dalam Pengawal:

use App\Jobs\SendEmail;

public function index()
{
    $user = auth()->user();
    SendEmail::dispatch($user);

    return view('welcome');
}
Salin selepas log masuk
  1. Mulakan proses baris gilir

Selepas tugasan ditambahkan pada baris gilir, anda akhirnya perlu untuk memulakan proses beratur. Terdapat banyak cara untuk memulakan proses baris gilir Anda boleh menggunakan arahan Artisan Laravel sendiri, atau anda boleh menggunakan alat pihak ketiga seperti penyelia. Contohnya, kami menggunakan perintah Artisan untuk memulakan proses baris gilir:

php artisan queue:work --tries=3 --timeout=30
Salin selepas log masuk

Selepas langkah di atas, kami boleh menggunakan baris gilir Laravel untuk memproses tugas tak segerak.

3. Fungsi baris gilir Laravel yang biasa digunakan

Terdapat banyak fungsi lain yang berguna dalam baris gilir Laravel, seperti:

  1. Mengendalikan tugas yang gagal

Apabila pelaksanaan tugas gagal, jadual failed_jobs pada baris gilir boleh digunakan untuk merekodkan tugasan yang gagal. Pada masa yang sama, kami juga boleh menetapkan bilangan percubaan tugasan dan tamat masa untuk mengelakkan tugasan daripada sentiasa gagal.

  1. Tugas pemprosesan serentak

Baris gilir Laravel menyokong tugas pemprosesan serentak Pelbagai proses boleh dimulakan pada baris arahan untuk memproses tugas pada masa yang sama, meningkatkan kecekapan pemprosesan tugas.

  1. Memantau status tugasan

Melalui Laravel Horizon, alat pihak ketiga, anda boleh memantau dengan mudah status tugas, panjang giliran dan maklumat lain, supaya kami boleh mencari dan menangani masalah dalam masa.

  1. Pemprosesan kumpulan baris gilir

Jika anda perlu mengumpulkan tugasan, anda boleh menambah tugasan pada baris gilir yang ditentukan. Sebagai contoh, kami menambah tugas SendEmail di atas pada baris gilir mel:

SendEmail::dispatch($user)->onQueue('mail');
Salin selepas log masuk

Apabila memulakan proses baris gilir, anda boleh menentukan baris gilir mana yang hendak diproses:

php artisan queue:work --queue=mail
Salin selepas log masuk

Di atas adalah beberapa pengetahuan asas baris gilir Laravel dan cara menggunakannya. Apabila Laravel terus berkembang, baris gilir akan menjadi lebih dan lebih berkuasa. Saya percaya bahawa dengan mengkaji artikel ini, semua orang akan mempunyai pemahaman yang lebih mendalam tentang penggunaan baris gilir Laravel dan boleh mengaplikasikannya dengan lebih baik pada pembangunan sebenar.

Atas ialah kandungan terperinci Cara menggunakan baris gilir 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