Rumah rangka kerja php Laravel Pembangunan Laravel: Bagaimana untuk menguruskan baris gilir menggunakan Laravel Horizon dan IronMQ?

Pembangunan Laravel: Bagaimana untuk menguruskan baris gilir menggunakan Laravel Horizon dan IronMQ?

Jun 17, 2023 am 11:00 AM
laravel horizon ironmq

Dengan perkembangan perniagaan Internet yang berterusan, konkurensi yang tinggi dan pemprosesan data yang banyak telah menjadi cabaran yang mesti dihadapi oleh aplikasi Internet. Untuk menangani cabaran ini, menggunakan baris gilir untuk mengendalikan tugas yang memakan masa telah menjadi penyelesaian biasa dalam rangka kerja Laravel. Artikel ini akan memperkenalkan cara menggunakan Laravel Horizon dan IronMQ untuk mengurus baris gilir dan tugas mereka.

1. Laravel Horizon

Laravel Horizon ialah alat pengurusan baris gilir yang disediakan secara rasmi oleh Laravel Ia menyediakan antara muka web yang mudah digunakan dan boleh membantu kami melihat baris gilir dalam masa nyata . Selain itu, Laravel Horizon juga menyediakan ciri berkuasa seperti statistik, percubaan semula automatik, had tetingkap masa dan pengendalian pengecualian untuk tugasan dalam baris gilir.

  1. Pasang Laravel Horizon

Gunakan Komposer untuk memasang Laravel Horizon: laksanakan arahan berikut:

composer require laravel/horizon
Salin selepas log masuk
  1. Penerbitan skrip Horizon

Selepas melaksanakan arahan di atas, anda juga perlu menerbitkan skrip Laravel Horizon kepada projek dengan melaksanakan arahan berikut:

php artisan horizon:install
Salin selepas log masuk
  1. Konfigurasikan Laravel Horizon

Laravel Horizon Fail konfigurasi terletak di config/horizon.php Anda boleh mengkonfigurasi gelagat Horizon dengan menukar fail ini Contohnya, tetapkan sambungan dan nama baris gilir dalam fail konfigurasi:

return [
    // 要运行的进程数
    'processes' => 10,

    // 队列连接设置
    'environments' => [
        'production' => [
            'supervisor-1' => [
                'connection' => 'redis',
                'queue' => ['default'],
                'balance' => 'simple',
                'processes' => 10,
            ],
            'supervisor-2' => [
                'connection' => 'redis',
                'queue' => ['high'],
                'balance' => 'simple',
                'processes' => 5,
            ],
        ],
    ],
]
Salin selepas log masuk
    <. 🎜>Mulakan Laravel Horizon
Gunakan arahan berikut untuk memulakan Laravel Horizon:

php artisan horizon
Salin selepas log masuk

Lawati http://localhost/horizon dan anda akan melihat antara muka web Laravel Horizon.

2. IronMQ

IronMQ ialah perkhidmatan baris gilir mesej awan berprestasi tinggi yang boleh menerima dan menghantar sejumlah besar data melalui API. Berbanding dengan perkhidmatan baris gilir mesej arus perdana yang lain, IronMQ lebih fleksibel dan boleh dipercayai, menyokong berbilang bahasa dan sistem pengendalian, serta mempunyai ciri berskala.

    Daftar IronMQ
Apabila mendaftar IronMQ, anda perlu memilih jenis bahasa dan lokasi pusat data yang anda gunakan. Selepas mendaftar, anda akan dapat mendapatkan ID projek dan token, yang akan kami gunakan dalam kod Laravel untuk menyambung ke baris gilir IronMQ anda.

    Pasang IronMQ
Dalam projek Laravel, gunakan Composer untuk memasang IronMQ:

composer require iron-io/iron_mq
Salin selepas log masuk

    Konfigurasikan IronMQ
Dalam projek, kami boleh mengkonfigurasi IronMQ dengan menambahkan parameter berikut pada fail .env:

IRON_PROJECT_ID=IronMQ_project_id
IRON_TOKEN=IronMQ_token
IRON_QUEUE_NAME=default
Salin selepas log masuk

    Tekan tugas ke IronMQ
Dalam projek Laravel , tolak tugasan kepada IronMQ dengan cara berikut:

IronMQ::queue('queue_name')->post($payload);
Salin selepas log masuk
di mana $payload ialah kandungan tugasan dan queue_name ialah nama baris gilir.

3. Gunakan Laravel Horizon dan IronMQ untuk mengurus baris gilir dan tugasan

Berikut ialah proses umum menggunakan Laravel Horizon dan IronMQ untuk mengurus baris gilir dan tugasan:

    Dalam projek Laravel , konfigurasikan Horizon dan IronMQ dan mulakannya.
  1. Dalam projek Laravel, tolak tugas ke IronMQ. Data tugas boleh disimpan dalam pangkalan data atau sebaliknya dijana.
  2. Laravel Horizon meninjau IronMQ dan menggunakan tugas daripada baris gilir. Anda boleh melihat status baris gilir dalam antara muka web Horizon, termasuk penyiapan tugas dan percubaan semula tugas.
  3. Semasa pelaksanaan tugas, Laravel Horizon menyediakan banyak cara berguna untuk membantu kami meningkatkan kualiti kod. Contohnya, dalam antara muka web Horizon, kami boleh melihat maklumat terperinci seperti bilangan baris kod dan masa yang dilaksanakan oleh tugasan, dengan itu mengenal pasti kesesakan prestasi yang berpotensi dan kecacatan kod dalam tugasan kami.
  4. Selepas pemprosesan tugas, jika perlu, hasilnya boleh ditolak ke sistem lain atau data tetap boleh dikembalikan ke penghujung panggilan.
Kesimpulan

Artikel ini memperkenalkan cara menggunakan IronMQ sebagai perkhidmatan baris gilir dalam aplikasi Laravel, dan menggabungkannya dengan Laravel Horizon untuk mengurus baris gilir dan tugasan dengan mudah. Dengan menggunakan Laravel Horizon dan IronMQ, kami boleh menyelesaikan tugas tak segerak dengan lebih cekap dan lebih mudah mengesan serta menyelesaikan masalah yang timbul semasa pelaksanaan tugas.

Atas ialah kandungan terperinci Pembangunan Laravel: Bagaimana untuk menguruskan baris gilir menggunakan Laravel Horizon dan IronMQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP vs. Flutter: Pilihan terbaik untuk pembangunan mudah alih PHP vs. Flutter: Pilihan terbaik untuk pembangunan mudah alih May 06, 2024 pm 10:45 PM

PHP vs. Flutter: Pilihan terbaik untuk pembangunan mudah alih

Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data? May 07, 2024 am 08:39 AM

Bagaimana untuk menggunakan pemetaan hubungan objek (ORM) dalam PHP untuk memudahkan operasi pangkalan data?

Laravel - Perintah Artisan Laravel - Perintah Artisan Aug 27, 2024 am 10:51 AM

Laravel - Perintah Artisan

Analisis kelebihan dan kekurangan alat ujian unit PHP Analisis kelebihan dan kekurangan alat ujian unit PHP May 06, 2024 pm 10:51 PM

Analisis kelebihan dan kekurangan alat ujian unit PHP

Perbandingan versi terkini Laravel dan CodeIgniter Perbandingan versi terkini Laravel dan CodeIgniter Jun 05, 2024 pm 05:29 PM

Perbandingan versi terkini Laravel dan CodeIgniter

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan? Jun 01, 2024 pm 01:34 PM

Bagaimanakah keupayaan pemprosesan data dalam Laravel dan CodeIgniter dibandingkan?

Ujian unit kod PHP dan ujian integrasi Ujian unit kod PHP dan ujian integrasi May 07, 2024 am 08:00 AM

Ujian unit kod PHP dan ujian integrasi

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar? Jun 04, 2024 am 09:09 AM

Laravel vs CodeIgniter: Rangka kerja manakah yang lebih baik untuk projek besar?

See all articles