Rumah rangka kerja php ThinkPHP Bagaimana untuk menggunakan Supervisor untuk mengurus baris gilir ThinkPHP6?

Bagaimana untuk menggunakan Supervisor untuk mengurus baris gilir ThinkPHP6?

Jun 12, 2023 am 08:51 AM
thinkphp beratur supervisor

Memandangkan aplikasi web terus berkembang, kami perlu mengendalikan sejumlah besar tugas untuk mengekalkan kestabilan dan ketersediaan aplikasi. Menggunakan sistem beratur adalah satu penyelesaian. ThinkPHP6 menyediakan sistem baris gilir terbina dalam untuk mengurus tugas. Walau bagaimanapun, pengendalian sebilangan besar tugas memerlukan pengurusan baris gilir yang lebih baik, yang boleh dicapai menggunakan Penyelia.

Artikel ini akan memperkenalkan cara menggunakan Supervisor untuk mengurus baris gilir ThinkPHP6. Sebelum itu, kita perlu memahami beberapa konsep asas:

  1. Sistem baris gilir
    Sistem baris gilir ialah cara memproses tugasan secara tidak segerak, menambah tugasan pada baris gilir dan bukannya memprosesnya secara langsung. Sebaik sahaja tugasan ditambahkan pada baris gilir, ia boleh diberikan kepada pekerja yang berbeza untuk mengelakkan penyekatan jangka panjang aplikasi web. Sistem baris gilir juga boleh menyelesaikan beberapa operasi tugasan yang kompleks.
  2. Tugas
    Dalam sistem baris gilir, tugasan ialah kerja yang perlu dilaksanakan. Anda boleh membungkus kod yang perlu dilaksanakan secara tak segerak ke dalam tugas, dan kemudian menambah tugasan pada baris gilir untuk menunggu pemprosesan seterusnya. Kita boleh menggunakan komponen baris gilir dalam rangka kerja PHP atau perpustakaan pihak ketiga untuk mengurus tugas, seperti komponen baris gilir Laravel atau Beanstalkd, dsb.
  3. Penyelia
    Penyelia ialah sistem kawalan proses yang boleh memantau dan mengawal satu atau lebih proses, termasuk pekerja baris gilir. Penyelia boleh menjadikan sistem giliran lebih stabil dan tahan lama. Menggunakan Penyelia boleh memulakan semula pekerja secara automatik apabila tugas gagal, dan juga boleh memastikan bahawa tugas baris gilir boleh terus diproses selepas aplikasi web dimulakan semula.

Setelah memahami konsep asas ini, kami akan memperkenalkan cara menggunakan Supervisor untuk menguruskan baris gilir ThinkPHP6.

Langkah 1: Pasang Penyelia

Untuk menggunakan Penyelia bagi pengurusan baris gilir, kita perlu memasang Penyelia terlebih dahulu. Pada sistem Ubuntu, anda boleh menggunakan arahan berikut untuk memasang:

sudo apt-get install supervisor
Salin selepas log masuk

Pada sistem CentOS, anda boleh menggunakan arahan berikut untuk memasang:

sudo yum install supervisor
Salin selepas log masuk

Selepas pemasangan selesai, anda boleh menggunakan arahan berikut untuk memulakan Penyelia:

sudo systemctl start supervisor
Salin selepas log masuk

Pada masa yang sama, kita juga perlu mencipta fail konfigurasi baharu dalam fail konfigurasi/etc/supervisor/conf.d/ untuk mengurus pekerja baris gilir. Kami boleh mencipta fail dengan sebarang nama dalam direktori ini, seperti laravel-worker.conf. Seterusnya, kami akan membincangkan cara mengedit fail ini.

Langkah 2: Edit fail konfigurasi Penyelia

Edit fail konfigurasi Penyelia dan tambah pekerja ke senarai pantauan Penyelia. Kita boleh menggunakan arahan berikut untuk mengedit fail konfigurasi yang baru kita buat:

sudo nano /etc/supervisor/conf.d/laravel-worker.conf
Salin selepas log masuk

Tambah konfigurasi berikut pada fail:

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
directory=/var/www/laravel #修改为你的项目目录
command=php /var/www/laravel/artisan queue:work
autostart=true
autorestart=true
user=www-data #修改为你的Web服务器运行用户
numprocs=8 #工作者数量,此处建议设置为CPU核心数2-4倍
redirect_stderr=true
stdout_logfile=/var/www/laravel/storage/logs/worker.log #修改为你的日志文件位置
Salin selepas log masuk

Selepas menambah konfigurasi di atas pada fail, kita boleh menggunakan arahan berikut untuk Muat Semula fail konfigurasi Penyelia:

sudo supervisorctl reread
sudo supervisorctl update
Salin selepas log masuk

Dengan cara ini Penyelia boleh memulakan pekerja baris gilir kami dan menguruskan mereka. Kita boleh menggunakan arahan berikut untuk melihat semua proses yang dimulakan oleh Penyelia:

sudo supervisorctl status
Salin selepas log masuk

Langkah 3: Uji tugas giliran

Kini, kami telah berjaya memulakan pekerja baris gilir menggunakan Penyelia. Seterusnya, kita perlu menguji tugas giliran. Mula-mula, pastikan anda mempunyai baris gilir dikonfigurasikan dalam aplikasi anda.

Tambahkan tugas ujian di suatu tempat dan biarkan baris gilir mula berfungsi. Contohnya, buat tugas menghantar E-mel:

<?php

namespace appqueue;

use thinkqueueJob;

class SendEmail
{
    public $user;

    public function __construct($user)
    {
        $this->user = $user;
    }

    public function fire(Job $job, $data)
    {
        //发送Email的代码
        if (Math.random() < 0.5) {
            // 处理失败
            $job->release(5);// 5秒后重试
        } else {
            // 成功处理
            $job->delete();
        }
    }
}
Salin selepas log masuk

Tambah kaedah dalam pengawal dan tambah tugas:

<?php

namespace appcontroller;

use thinkController;
use thinkqueueQueue;

class Email extends Controller
{
    public function index()
    {
        $user = ['email' => 'test@test.com', 'name' => 'test'];
        $job = new ppqueueSendEmail($user);
        app('queue')->push($job);
    }
}
Salin selepas log masuk

Dengan cara ini, kita boleh berjaya menggunakan Supervisor untuk mengurus baris gilir ThinkPHP6 . Jika anda ingin mengetahui lebih lanjut mengenai sistem baris gilir, anda boleh membaca dokumentasi rasmi. Saya harap artikel ini dapat membantu anda menjalankan aplikasi web anda dengan jayanya!

Atas ialah kandungan terperinci Bagaimana untuk menggunakan Supervisor untuk mengurus baris gilir ThinkPHP6?. 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)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan 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)

Bagaimana untuk menjalankan projek thinkphp Bagaimana untuk menjalankan projek thinkphp Apr 09, 2024 pm 05:33 PM

Untuk menjalankan projek ThinkPHP, anda perlu: memasang Komposer untuk mencipta projek, masukkan direktori projek dan laksanakan php bin/console serve;

Terdapat beberapa versi thinkphp Terdapat beberapa versi thinkphp Apr 09, 2024 pm 06:09 PM

ThinkPHP mempunyai berbilang versi yang direka untuk versi PHP yang berbeza. Versi utama termasuk 3.2, 5.0, 5.1 dan 6.0, manakala versi kecil digunakan untuk membetulkan pepijat dan menyediakan ciri baharu. Versi stabil terkini ialah ThinkPHP 6.0.16. Apabila memilih versi, pertimbangkan versi PHP, keperluan ciri dan sokongan komuniti. Adalah disyorkan untuk menggunakan versi stabil terkini untuk prestasi dan sokongan terbaik.

Bagaimana untuk menjalankan thinkphp Bagaimana untuk menjalankan thinkphp Apr 09, 2024 pm 05:39 PM

Langkah-langkah untuk menjalankan ThinkPHP Framework secara setempat: Muat turun dan nyahzip ThinkPHP Framework ke direktori tempatan. Buat hos maya (pilihan) yang menunjuk ke direktori akar ThinkPHP. Konfigurasikan parameter sambungan pangkalan data. Mulakan pelayan web. Mulakan aplikasi ThinkPHP. Akses URL aplikasi ThinkPHP dan jalankannya.

Mana yang lebih baik, laravel atau thinkphp? Mana yang lebih baik, laravel atau thinkphp? Apr 09, 2024 pm 03:18 PM

Perbandingan prestasi rangka kerja Laravel dan ThinkPHP: ThinkPHP umumnya berprestasi lebih baik daripada Laravel, memfokuskan pada pengoptimuman dan caching. Laravel berfungsi dengan baik, tetapi untuk aplikasi yang kompleks, ThinkPHP mungkin lebih sesuai.

Bagaimana untuk memasang thinkphp Bagaimana untuk memasang thinkphp Apr 09, 2024 pm 05:42 PM

Langkah pemasangan ThinkPHP: Sediakan persekitaran PHP, Komposer dan MySQL. Buat projek menggunakan Komposer. Pasang rangka kerja dan kebergantungan ThinkPHP. Konfigurasikan sambungan pangkalan data. Hasilkan kod aplikasi. Lancarkan aplikasi dan lawati http://localhost:8000.

Bagaimanakah prestasi thinkphp? Bagaimanakah prestasi thinkphp? Apr 09, 2024 pm 05:24 PM

ThinkPHP ialah rangka kerja PHP berprestasi tinggi dengan kelebihan seperti mekanisme caching, pengoptimuman kod, pemprosesan selari dan pengoptimuman pangkalan data. Ujian prestasi rasmi menunjukkan bahawa ia boleh mengendalikan lebih daripada 10,000 permintaan sesaat, dan digunakan secara meluas dalam tapak web dan sistem perusahaan berskala besar seperti JD.com dan Ctrip dalam aplikasi praktikal.

Analisis dan strategi pengoptimuman untuk prestasi baris gilir Java Queue Analisis dan strategi pengoptimuman untuk prestasi baris gilir Java Queue Jan 09, 2024 pm 05:02 PM

Analisis Prestasi dan Strategi Pengoptimuman JavaQueue Queue Ringkasan: Queue (Queue) ialah salah satu struktur data yang biasa digunakan di Java dan digunakan secara meluas dalam pelbagai senario. Artikel ini akan membincangkan isu prestasi baris gilir JavaQueue dari dua aspek: analisis prestasi dan strategi pengoptimuman serta memberikan contoh kod khusus. Baris Gilir Pengenalan ialah struktur data masuk dahulu keluar dahulu (FIFO) yang boleh digunakan untuk melaksanakan mod pengeluar-pengguna, baris gilir tugas kumpulan benang dan senario lain. Java menyediakan pelbagai pelaksanaan baris gilir, seperti Arr

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Nov 22, 2023 pm 05:18 PM

Cadangan pembangunan: Cara menggunakan rangka kerja ThinkPHP untuk pembangunan API Dengan pembangunan berterusan Internet, kepentingan API (Antara Muka Pengaturcaraan Aplikasi) telah menjadi semakin menonjol. API ialah jambatan untuk komunikasi antara aplikasi yang berbeza Ia boleh merealisasikan perkongsian data, panggilan fungsi dan operasi lain, dan menyediakan pembangun kaedah pembangunan yang agak mudah dan pantas. Sebagai rangka kerja pembangunan PHP yang sangat baik, rangka kerja ThinkPHP adalah cekap, berskala dan mudah digunakan.

See all articles