cari
Rumahrangka kerja phpLaravelTerokai cara melaraskan tugas (Pekerjaan) dalam projek Laravel

Dalam Laravel, tugas (Pekerjaan) ialah mekanisme untuk mengendalikan tugas tak segerak. Laravel menyediakan pelbagai fungsi pemprosesan tugas (Pekerjaan), yang boleh menyediakan tugas (Pekerjaan) dengan mudah untuk dijalankan secara tak segerak di latar belakang, membolehkan aplikasi anda bertindak balas kepada permintaan dengan cepat dan memproses tugas dengan cekap.

Artikel ini akan meneroka cara melaraskan tugas (Pekerjaan) dalam aplikasi Laravel, termasuk cara mentakrifkan tugas (Pekerjaan) dan cara mengkonfigurasi, menggunakan dan mengurus tugas (Pekerjaan).

Mentakrifkan tugas (Pekerjaan)

Sangat mudah untuk menentukan tugas (Pekerjaan) dalam Laravel. Mula-mula, cipta kelas tugas (Pekerjaan) baharu dan letakkan kod pemprosesan tugas dalam kaedah handle:

<?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;

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

    public function handle()
    {
        // 处理任务的代码
    }
}

Dalam kod di atas, kami mencipta kelas tugas bernama ProcessPodcast , yang mewarisi daripada ShouldQueue antara muka, menunjukkan bahawa ini adalah tugas yang perlu diproses dalam baris gilir. Kelas ini juga menggunakan ciri Dispatchable Laravel, yang membolehkan kami menolak tugasan ke dalam sistem baris gilir Laravel menggunakan kaedah dispatch.

Selain kaedah handle(), kelas tugas (Pekerjaan) juga boleh menggunakan kaedah dan fungsi lain yang disediakan oleh Laravel, seperti kaedah before() dan after(), yang digunakan pada permulaan dan tamat tugas (Pekerjaan) Cetuskan tindakan tertentu. Selain itu, anda boleh menggunakan Penyambung Gilir untuk menyambungkan baris gilir dan perkhidmatan baris gilir yang berbeza.

Mengkonfigurasi Pemacu Gilir

Laravel menyokong menggunakan pemacu baris gilir yang berbeza untuk mengurus dan menjalankan baris gilir tugas (Pekerjaan). Secara lalai, Laravel menggunakan pemacu sync, yang melaksanakan tugas secara serentak dan mengembalikan hasil apabila tugasan selesai.

Untuk mengkonfigurasi pemacu baris gilir, anda perlu menentukan pemacu yang ingin anda gunakan dalam fail konfigurasi Laravel config/queue.php. Contohnya, untuk menggunakan pemacu Redis, anda boleh menambah kod berikut pada fail config/queue.php:

'connections' => [
    // ...
    'redis' => [
        'driver' => 'redis',
        'connection' => 'default',
        'queue' => env('REDIS_QUEUE', 'default'),
        'retry_after' => 90,
        'block_for' => null,
    ],
    // ...
],

Dalam kod di atas, kami mengkonfigurasi pemacu gilir Redis untuk menggunakan sambungan lalai, menamakan baris gilir ialah default dan menetapkan beberapa sifat baris gilir, seperti selang percubaan semula dan masa menyekat maksimum.

Menolak tugas (Pekerjaan) ke baris gilir

Setelah anda menentukan tugas (Pekerjaan), anda boleh menggunakan kaedah dispatch() untuk menolak tugasan ke Laravel tengah sistem giliran. Contohnya:

ProcessPodcast::dispatch($podcast);

Dalam kod di atas, kami menghantar pembolehubah $podcast sebagai parameter kepada pembina kelas Jobs, dan kemudian gunakan kaedah dispatch() untuk menolak kerja ke baris gilir .

Apabila anda menolak kerja ke baris gilir, Laravel akan menyerikan kelas tugas, parameter pembina dan sebarang data lain yang diperlukan ke dalam rentetan. Rentetan itu kemudiannya dihantar ke baris gilir dan akhirnya dibawa keluar untuk pelaksanaan secara tak segerak di latar belakang.

Mendengar dan menyahpepijat baris gilir

Sebaik sahaja anda menolak kerja ke baris gilir, anda boleh menggunakan Pendengar Baris Gilir Laravel untuk mendengar baris gilir dan tugasan Proses. Daripada baris arahan, anda boleh menggunakan perintah php artisan queue:listen untuk memulakan pendengar baris gilir. Contohnya:

php artisan queue:listen redis --queue=default

Dalam contoh di atas, kami menggunakan redis pemandu baris gilir dan namakan baris gilir default . Perintah ini akan memulakan pendengar menunggu tugasan dalam baris gilir. Pendengar ini akan bertanggungjawab untuk mengalih keluar kerja daripada baris gilir dan melaksanakannya sebaik sahaja kerja tersedia.

Anda juga boleh menggunakan Penjadual Baris Gilir dalam aplikasi Laravel anda untuk melaksanakan tugas seperti yang dijadualkan. Penjadual baris gilir ialah mekanisme yang secara automatik melaksanakan tugas dalam masa yang ditentukan. Untuk memasang penjadual baris gilir, anda perlu mentakrifkan kerja (Pekerjaan) yang ingin anda laksanakan dalam penjadual aplikasi anda (Penjadual) dan menggunakannya dengan sistem baris gilir. Setelah dikonfigurasikan, penjadual baris gilir akan secara automatik menolak kerja (Pekerjaan) ke baris gilir dalam selang masa yang ditentukan.

Ringkasan

Mengkonfigurasi dan mengurus pekerjaan (Pekerjaan) dalam aplikasi Laravel ialah mekanisme yang agak mudah dan praktikal. Artikel ini menerangkan cara untuk mentakrifkan tugas (Pekerjaan), mengkonfigurasi pemacu baris gilir dan menggunakan pendengar baris gilir dan penjadual baris gilir untuk memproses tugas. Dengan menggunakan ciri pemprosesan kerja Laravel, anda boleh membiarkan aplikasi anda mengendalikan tugas di latar belakang dan mencapai prestasi yang lebih tinggi serta pengalaman pengguna yang lebih baik.

Atas ialah kandungan terperinci Terokai cara melaraskan tugas (Pekerjaan) dalam projek Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
Alat Pengurusan Tugas: Mengutamakan dan menjejaki kemajuan dalam projek terpencilAlat Pengurusan Tugas: Mengutamakan dan menjejaki kemajuan dalam projek terpencilMay 02, 2025 am 12:25 AM

TaskManagementToolSareessfectiveFectiveremoteprojectmanagementbyprioritizingTasksandTrackingProgress.1) usetoolsliketrelloandasanatosetprioritieswithlabelsortags.2) prokertoolslikejiraandmondy.com

Bagaimanakah versi Laravel terbaru meningkatkan prestasi?Bagaimanakah versi Laravel terbaru meningkatkan prestasi?May 02, 2025 am 12:24 AM

Laravel101hancesperformanceRoughseralkeyfeatures.1) itIntroduceSquerybuilderCachingtoreDuceeduceedataBaseload.2) itOpTimizeSeSeloquentModeLeloadingWithLazyLoadingProxies.3)

Strategi penempatan untuk aplikasi Laravel penuhStrategi penempatan untuk aplikasi Laravel penuhMay 02, 2025 am 12:22 AM

Strategi penggunaan aplikasi Laravel yang terbaik termasuk: 1. 1. Zero Downtime Deployment menggunakan Envoy atau Deployer untuk mengautomasikan proses penempatan untuk memastikan aplikasi tetap tersedia apabila dikemas kini. 2. Penyebaran biru dan hijau membolehkan penempatan downtime dengan mengekalkan dua persekitaran dan membolehkan pengembalian cepat. 3. Penggunaan berterusan mengautomasikan keseluruhan proses penempatan melalui githubactions atau gitlabci/cd. 4. Canary melepaskan melalui konfigurasi Nginx, secara beransur -ansur mempromosikan versi baru kepada pengguna untuk memastikan pengoptimuman prestasi dan pengembalian cepat.

Meningkatkan Aplikasi Laravel penuh: Amalan dan Teknik TerbaikMeningkatkan Aplikasi Laravel penuh: Amalan dan Teknik TerbaikMay 02, 2025 am 12:22 AM

Toscalealaravelapplicationefectively, focusondatabasesharding, caching, loadbosting, andmicroservices.1) pelaksanaanDataBaseshardingTodistributedataacrossmultipledatabasesforimprovedperformance.2)

Perjuangan senyap: mengatasi halangan komunikasi dalam pasukan yang diedarkanPerjuangan senyap: mengatasi halangan komunikasi dalam pasukan yang diedarkanMay 02, 2025 am 12:20 AM

TooverComeComeCommunicationBarriersAndistributedTeams, Gunakan: 1) videocallsforface-to-faceinteraction, 2) setclearResponsetimeexpectations, 3) chooseapproprateCommunicationTools, 4) createeAteamCommunicationGuide, dan5)

Menggunakan bilah laravel untuk templat depan dalam projek stack penuhMenggunakan bilah laravel untuk templat depan dalam projek stack penuhMay 01, 2025 am 12:24 AM

Laravelbladeenhancesfrontendtemplatinginfull-stackprojectsbyofferingcleansyntaxandpowerfeatures.1) itallowsforeasyvariabledisplayandControlstructures.2)

Membina aplikasi stack penuh dengan Laravel: tutorial praktikalMembina aplikasi stack penuh dengan Laravel: tutorial praktikalMay 01, 2025 am 12:23 AM

Laravelisidealffull-stackapplicationsduetoitselegantsyntax, comprehensiveecosystem, andpowerfeatures.1) useeloquentormforintuitiveBackenddatamanipulation, butavoidn 1queryissues.2) prajuritas

Apakah jenis alat yang anda gunakan untuk peranan jauh untuk terus berhubung?Apakah jenis alat yang anda gunakan untuk peranan jauh untuk terus berhubung?May 01, 2025 am 12:21 AM

Forremotework, iusezoomforvideocalls, slackformessaging, trelloforprojectmanagement, andgithubforcodecollaboration.1) zoomisreliaforlargemeetingsbuthastimelimitsonthefreeversion.2)

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!