


Cara menggunakan fungsi Queue dalam rangka kerja Laravel
Cara menggunakan fungsi baris gilir (Baris Gilir) dalam rangka kerja Laravel
Pengenalan:
Baris Gilir (Queue) ialah mekanisme pemprosesan tak segerak biasa yang memainkan peranan penting dalam pembangunan web. Rangka kerja Laravel menyediakan fungsi baris gilir berkuasa yang boleh mengendalikan pelbagai tugas latar belakang dengan mudah, seperti menghantar e-mel, menjana laporan, memproses data besar, dsb. Artikel ini akan memperkenalkan cara menggunakan fungsi baris gilir dalam rangka kerja Laravel, termasuk konfigurasi baris gilir, definisi tugas dan pelaksanaan, dsb., dan memberikan contoh kod yang sepadan.
1. Konfigurasikan baris gilir
Dalam rangka kerja Laravel, konfigurasi baris gilir adalah sangat mudah. Pertama, dalam fail konfigurasi config/queue.php
, kita boleh menetapkan pemacu giliran (Pemandu Gilir) dan parameter sambungan yang sepadan. Laravel menyokong pelbagai pemacu baris gilir, termasuk pangkalan data, Redis, Beanstalkd, dll. Di sini kita mengambil menggunakan pemacu pangkalan data sebagai contoh. config/queue.php
中,我们可以设置队列驱动器(Queue Driver)和相应的连接参数。Laravel支持多种队列驱动器,包括数据库、Redis、Beanstalkd等。这里以使用数据库驱动器为例进行说明。
'connections' => [ 'database' => [ 'driver' => 'database', 'table' => 'jobs', 'queue' => 'default', 'retry_after' => 90, ], ],
上述配置中,driver
指定了队列驱动器为数据库驱动,table
指定了存储队列任务的数据表名,queue
指定了默认队列的名称,retry_after
指定了任务执行失败后的重试时间。
二、定义任务
在Laravel框架中,队列任务(Job)是以类的方式定义的,通常存放在app/Jobs
目录下。我们来创建一个简单的队列任务,用于发送邮件。
首先,使用Artisan命令来生成队列任务模板:
php artisan make:job SendEmailJob
生成成功后,在app/Jobs
目录下会生成一个名为SendEmailJob
的类文件。打开该类文件,可以看到以下代码:
namespace AppJobs; use IlluminateBusQueueable; use IlluminateContractsQueueShouldQueue; use IlluminateFoundationBusDispatchable; use IlluminateQueueInteractsWithQueue; use IlluminateQueueSerializesModels; class SendEmailJob implements ShouldQueue { use Dispatchable, InteractsWithQueue, Queueable, SerializesModels; public function __construct() { // } public function handle() { // 发送邮件的逻辑代码 } }
在这个类中,我们可以定义发送邮件的逻辑代码。需要注意的是,由于队列任务是异步执行的,因此需要将ShouldQueue
接口作为类的实现。同时,其他特征(Trait)Dispatchable
、InteractsWithQueue
、Queueable
、SerializesModels
提供了对队列的操作和对象序列化等支持。
三、任务入队
在Laravel框架中,任务入队通常是通过调用dispatch
函数来实现。下面是一个将SendEmailJob
任务入队的示例代码:
use AppJobsSendEmailJob; dispatch(new SendEmailJob());
上述代码将SendEmailJob
任务添加到默认队列中。如果需要指定队列名称,可以使用onQueue
方法:
use AppJobsSendEmailJob; dispatch((new SendEmailJob())->onQueue('emails'));
另外,如果希望任务延迟执行,可以使用delay
方法:
use AppJobsSendEmailJob; $job = (new SendEmailJob())->delay(Carbon::now()->addMinutes(10)); dispatch($job);
四、执行队列任务
在Laravel框架中,可以使用两种方法执行队列任务:同步执行和异步执行。
- 同步执行(Sync Driver)
同步执行是指任务在当前请求中立即执行,不经过队列驱动器的处理。在配置文件config/queue.php
中,将默认的队列驱动器设为“sync”即可。
'default' => env('QUEUE_DRIVER', 'sync'),
此时,通过调用dispatch
函数将任务入队后,任务将会在当前请求中立即执行。
- 异步执行
异步执行是指任务由队列驱动器负责处理和执行。在配置文件config/queue.php
中,将默认的队列驱动器设为其他驱动器,例如“database”。
'default' => env('QUEUE_DRIVER', 'database'),
然后,在终端中执行以下命令,监听并执行队列任务:
php artisan queue:work
此时,通过调用dispatch
函数将任务入队后,任务将被添加到队列中,并由queue:work
rrreee
driver
menyatakan bahawa pemandu baris gilir ialah pemacu pangkalan data, jadual
menentukan nama jadual data yang menyimpan tugas baris gilir dan baris gilir
menentukan Menentukan nama baris gilir lalai, dan retry_after
menentukan masa cuba semula selepas kegagalan pelaksanaan tugas.
2. Tentukan tugas
app/Jobs
. Mari buat tugas giliran mudah untuk menghantar e-mel. 🎜🎜Pertama, gunakan arahan Artisan untuk menjana templat tugas baris gilir: 🎜rrreee🎜Selepas penjanaan berjaya, fail kelas bernama SendEmailJob
akan dijana dalam direktori app/Jobs
. Buka fail kelas ini dan anda boleh melihat kod berikut: 🎜rrreee🎜Dalam kelas ini, kita boleh menentukan kod logik untuk menghantar e-mel. Perlu diingat bahawa memandangkan tugas baris gilir dilaksanakan secara tidak segerak, antara muka ShouldQueue
perlu dilaksanakan sebagai kelas. Pada masa yang sama, ciri lain (Trait) Dispatchable
, InteractsWithQueue
, Queueable
, SerializesModels
menyediakan operasi dan objek untuk beratur Serialisasi dan sokongan lain. 🎜🎜3. Barisan tugasan 🎜🎜Dalam rangka kerja Laravel, giliran tugasan biasanya dilaksanakan dengan memanggil fungsi SendEmailJob
: 🎜rrreee🎜Kod di atas menambah tugasan SendEmailJob
pada baris gilir lalai. Jika anda perlu menentukan nama baris gilir, anda boleh menggunakan kaedah onQueue
: 🎜rrreee🎜 Selain itu, jika anda mahu tugasan ditangguhkan, anda boleh menggunakan delay
kaedah: 🎜rrreee🎜 4. Laksanakan tugas giliran🎜 🎜Dalam rangka kerja Laravel, anda boleh menggunakan dua kaedah untuk melaksanakan tugas giliran: pelaksanaan segerak dan pelaksanaan tak segerak. 🎜- Pelaksanaan segerak (Pemacu Penyegerakan)
config/queue.php
, tetapkan pemacu baris gilir lalai kepada "segerak". 🎜rrreee🎜Pada masa ini, selepas memasukkan tugasan dengan memanggil fungsi dispatch
, tugasan akan dilaksanakan serta-merta dalam permintaan semasa. 🎜- Pelaksanaan tak segerak
config/queue.php
, tetapkan pemacu gilir lalai kepada pemacu lain, seperti "pangkalan data". 🎜rrreee🎜Kemudian, laksanakan arahan berikut dalam terminal untuk mendengar dan melaksanakan tugas baris gilir: 🎜rrreee🎜Pada masa ini, selepas tugasan dimasukkan ke dalam baris gilir dengan memanggil fungsi dispatch
, tugasan akan ditambah ke baris gilir, dan Dipantau dan dilaksanakan oleh perintah queue:work
. 🎜🎜Ringkasan: 🎜Melalui langkah di atas, kita boleh menggunakan fungsi baris gilir dalam rangka kerja Laravel, dan mengambil tugas menghantar e-mel sebagai contoh untuk memberikan contoh kod yang sepadan. Fungsi baris gilir membolehkan kami mengendalikan tugas latar belakang dengan lebih baik dan meningkatkan keselarasan sistem dan kelajuan tindak balas. Dalam pembangunan sebenar, ia juga boleh digabungkan dengan fungsi lain dan perkhidmatan pihak ketiga untuk mencapai fungsi yang lebih berkuasa. Saya harap artikel ini dapat membantu pembaca memahami dan menggunakan fungsi baris gilir rangka kerja Laravel. 🎜Atas ialah kandungan terperinci Cara menggunakan fungsi Queue dalam rangka kerja Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pautan magnet ialah kaedah pautan untuk memuat turun sumber, yang lebih mudah dan cekap daripada kaedah muat turun tradisional. Pautan magnet membolehkan anda memuat turun sumber secara peer-to-peer tanpa bergantung pada pelayan perantara. Artikel ini akan memperkenalkan cara menggunakan pautan magnet dan perkara yang perlu diberi perhatian. 1. Apakah pautan magnet? Pautan magnet ialah kaedah muat turun berdasarkan protokol P2P (Peer-to-Peer). Melalui pautan magnet, pengguna boleh menyambung terus kepada penerbit sumber untuk melengkapkan perkongsian dan muat turun sumber. Berbanding dengan kaedah muat turun tradisional, magnet

Cara menggunakan fail mdf dan fail mds Dengan kemajuan teknologi komputer yang berterusan, kami boleh menyimpan dan berkongsi data dalam pelbagai cara. Dalam bidang media digital, kita sering menghadapi beberapa format fail khas. Dalam artikel ini, kami akan membincangkan format fail biasa - fail mdf dan mds, dan memperkenalkan cara menggunakannya. Pertama, kita perlu memahami maksud fail mdf dan fail mds. mdf ialah lanjutan fail imej CD/DVD, dan fail mds ialah fail metadata bagi fail mdf.

CrystalDiskMark ialah alat penanda aras HDD kecil untuk pemacu keras yang cepat mengukur kelajuan baca/tulis berurutan dan rawak. Seterusnya, biarkan editor memperkenalkan CrystalDiskMark kepada anda dan cara menggunakan crystaldiskmark~ 1. Pengenalan kepada CrystalDiskMark CrystalDiskMark ialah alat ujian prestasi cakera yang digunakan secara meluas yang digunakan untuk menilai kelajuan baca dan tulis serta prestasi pemacu keras mekanikal dan pemacu keadaan pepejal (SSD Prestasi I/O rawak. Ia adalah aplikasi Windows percuma dan menyediakan antara muka mesra pengguna dan pelbagai mod ujian untuk menilai aspek prestasi cakera keras yang berbeza dan digunakan secara meluas dalam ulasan perkakasan

foobar2000 ialah perisian yang boleh mendengar sumber muzik pada bila-bila masa Ia membawakan anda semua jenis muzik dengan kualiti bunyi tanpa kehilangan Versi pemain muzik yang dipertingkatkan membolehkan anda mendapatkan pengalaman muzik yang lebih komprehensif dan selesa mainkan audio lanjutan pada komputer Peranti dipindahkan ke telefon mudah alih untuk memberikan pengalaman main balik muzik yang lebih mudah dan cekap Reka bentuk antara muka adalah ringkas, jelas dan mudah digunakan Ia menggunakan gaya reka bentuk minimalis tanpa terlalu banyak hiasan dan operasi yang menyusahkan untuk bermula dengan cepat. Ia juga menyokong pelbagai kulit dan Tema, memperibadikan tetapan mengikut pilihan anda sendiri, dan mencipta pemain muzik eksklusif yang menyokong main balik berbilang format audio. Ia juga menyokong fungsi perolehan audio untuk melaraskan kelantangan kepada keadaan pendengaran anda sendiri untuk mengelakkan kerosakan pendengaran yang disebabkan oleh kelantangan yang berlebihan. Seterusnya, izinkan saya membantu anda

NetEase Mailbox, sebagai alamat e-mel yang digunakan secara meluas oleh netizen Cina, sentiasa memenangi kepercayaan pengguna dengan perkhidmatannya yang stabil dan cekap. NetEase Mailbox Master ialah perisian e-mel yang dicipta khas untuk pengguna telefon mudah alih. Ia sangat memudahkan proses menghantar dan menerima e-mel dan menjadikan pemprosesan e-mel kami lebih mudah. Jadi bagaimana untuk menggunakan NetEase Mailbox Master, dan apakah fungsi khusus yang ada di bawah, editor tapak ini akan memberi anda pengenalan terperinci, dengan harapan dapat membantu anda. Mula-mula, anda boleh mencari dan memuat turun aplikasi NetEase Mailbox Master di gedung aplikasi mudah alih. Cari "Induk Peti Mel NetEase" dalam App Store atau Baidu Mobile Assistant, dan kemudian ikut gesaan untuk memasangnya. Selepas muat turun dan pemasangan selesai, kami membuka akaun e-mel NetEase dan log masuk. Antara muka log masuk adalah seperti yang ditunjukkan di bawah

Storan awan telah menjadi bahagian yang amat diperlukan dalam kehidupan dan kerja harian kita pada masa kini. Sebagai salah satu perkhidmatan storan awan terkemuka di China, Baidu Netdisk telah memenangi hati sebilangan besar pengguna dengan fungsi storan yang berkuasa, kelajuan penghantaran yang cekap dan pengalaman operasi yang mudah. Dan sama ada anda ingin menyandarkan fail penting, berkongsi maklumat, menonton video dalam talian atau mendengar muzik, Baidu Cloud Disk boleh memenuhi keperluan anda. Walau bagaimanapun, ramai pengguna mungkin tidak memahami penggunaan khusus aplikasi Baidu Netdisk, jadi tutorial ini akan memperkenalkan anda tentang cara menggunakan aplikasi Baidu Netdisk secara terperinci Jika anda masih keliru, sila ikuti artikel ini untuk mengetahui lebih lanjut! Cara menggunakan Cakera Rangkaian Awan Baidu: 1. Pemasangan Mula-mula, semasa memuat turun dan memasang perisian Baidu Cloud, sila pilih pilihan pemasangan tersuai.

MetaMask (juga dipanggil Little Fox Wallet dalam bahasa Cina) ialah perisian dompet penyulitan percuma dan diterima baik. Pada masa ini, BTCC menyokong pengikatan pada dompet MetaMask Selepas mengikat, anda boleh menggunakan dompet MetaMask untuk log masuk dengan cepat, menyimpan nilai, membeli syiling, dsb., dan anda juga boleh mendapatkan bonus percubaan 20 USDT untuk pengikatan pertama. Dalam tutorial dompet BTCCMetaMask, kami akan memperkenalkan secara terperinci cara mendaftar dan menggunakan MetaMask, dan cara mengikat dan menggunakan dompet Little Fox dalam BTCC. Apakah dompet MetaMask? Dengan lebih 30 juta pengguna, MetaMask Little Fox Wallet ialah salah satu dompet mata wang kripto yang paling popular hari ini. Ia percuma untuk digunakan dan boleh dipasang pada rangkaian sebagai sambungan

Selepas lama menekan butang main pembesar suara, sambungkan ke wifi dalam perisian dan anda boleh menggunakannya. Tutorial Model Berkenaan: Xiaomi 12 Sistem: EMUI11.0 Versi: Xiaoai Classmate 2.4.21 Analisis 1 Mula-mula cari butang main pembesar suara, dan tekan dan tahan untuk memasuki mod pengedaran rangkaian. 2 Log masuk ke akaun Xiaomi anda dalam perisian Xiaoai Speaker pada telefon anda dan klik untuk menambah Speaker Xiaoai baharu. 3. Selepas memasukkan nama dan kata laluan wifi, anda boleh menghubungi Xiao Ai untuk menggunakannya. Tambahan: Apakah fungsi yang ada pada Xiaoai Speaker 1 Xiaoai Speaker mempunyai fungsi sistem, fungsi sosial, fungsi hiburan, fungsi pengetahuan, fungsi kehidupan, rumah pintar dan rancangan latihan. Ringkasan/Nota: Apl Xiao Ai mesti dipasang pada telefon mudah alih anda terlebih dahulu untuk sambungan dan penggunaan yang mudah.
