Rumah pembangunan bahagian belakang tutorial php QPM-PHP多进程开发-Supervisor配置参考

QPM-PHP多进程开发-Supervisor配置参考

Aug 08, 2016 am 09:29 AM
config supervisor

QPM 是一个PHP 进程管理框架,可用于简化Daemon开发,项目地址在:https://github.com/Comos/qpm
截至0.2版本,QPM支持3种Supervison模式,OneForOne MultiGroupOneForOne 和 TaskFactoryMode。 不同的模式可以建立起不同的进程树组合,子进程的重启,并发控制的策略都各不相同,以适应不同的应用场景。 不同的模式对应着不同的工厂方法,例如OneForOne的创建方法是 qpm\supervisor\Supervisor::oneForOne($config);OneForOne方法qpm\supervisor\Supervisor::oneForOne($config)使用场景所有的子进程都使用同一个回调函数或Runnable类。配置字段
  • *runnableCallback 或 runnableClass. 类型 callable 或 qpm\process\Runnable runnableCallback是在子进程执行实际任务的回调。runnableClass在子进程种执行实际任务的类,和runnableCallback二选一。

  • quantity 类型 integer 默认1 并发数量。

  • maxRestartTimes 类型 integer 最大重启次数, 和withInSeconds配合使用。
  • withInSeconds 类型 integer 和maxRestartTimes,指示master进程在约定的时间内最大的重启次数。
  • 例子1 'justDoIt', 'quantity' => 3]; $sup = qpm\supervisor\Supervisor::oneForOne($config); $sup->start(); 例子2 'Foo', 'quantity' => 5, 'maxRestartTimes'=>100, 'withInSeconds'=>10]; $sup = qpm\supervisor\Supervisor::oneForOne($config); $sup->start(); MultiGroupOneForOne方法qpm\supervisor\Supervisor::oneForOne($config)使用场景MultiGroupOneForOne是OneForOne的升级版,可管理多组OneForOne的进程。 MultiGroupOneForOne的配置是一个内嵌了若干OneForOne配置的数组。TaskFactoryMode任务工厂模式,任务由指定的工厂方法产生。方法qpm\supervisor\Supervisor::taskFactoryMode($config)使用场景每次子进程执行的任务各不相同,须要不同的参数、类或Run函数,因此每次的任务都由任务工厂生成。配置字段*factoryMethod callable 用于生成任务对象 或 callable的工厂方法。 factoryMethod 返回值可以是 qpm\process\Runnable 或 callable
  • quantity 类型 integer 默认1 并发数量。

  • 截至0.2版本,QPM支持3种Supervison模式,OneForOne MultiGroupOneForOne 和 TaskFactoryMode。 不同的模式可以建立起不同的进程树组合,子进程的重启,并发控制的策略都各不相同,以适应不同的应用场景。 不同的模式对应着不同的工厂方法,例如OneForOne的创建方法是 qpm\supervisor\Supervisor::oneForOne($config);OneForOne方法qpm\supervisor\Supervisor::oneForOne($config)使用场景所有的子进程都使用同一个回调函数或Runnable类。配置字段
  • *runnableCallback 或 runnableClass. 类型 callable 或 qpm\process\Runnable runnableCallback是在子进程执行实际任务的回调。runnableClass在子进程种执行实际任务的类,和runnableCallback二选一。

  • quantity 类型 integer 默认1 并发数量。

  • maxRestartTimes 类型 integer 最大重启次数, 和withInSeconds配合使用。
  • withInSeconds 类型 integer 和maxRestartTimes,指示master进程在约定的时间内最大的重启次数。
  • 例子1 'justDoIt', 'quantity' => 3]; $sup = qpm\supervisor\Supervisor::oneForOne($config); $sup->start(); 例子2 'Foo', 'quantity' => 5, 'maxRestartTimes'=>100, 'withInSeconds'=>10]; $sup = qpm\supervisor\Supervisor::oneForOne($config); $sup->start(); MultiGroupOneForOne方法qpm\supervisor\Supervisor::oneForOne($config)使用场景MultiGroupOneForOne是OneForOne的升级版,可管理多组OneForOne的进程。 MultiGroupOneForOne的配置是一个内嵌了若干OneForOne配置的数组。TaskFactoryMode任务工厂模式,任务由指定的工厂方法产生。方法qpm\supervisor\Supervisor::taskFactoryMode($config)使用场景每次子进程执行的任务各不相同,须要不同的参数、类或Run函数,因此每次的任务都由任务工厂生成。配置字段*factoryMethod callable 用于生成任务对象 或 callable的工厂方法。 factoryMethod 返回值可以是 qpm\process\Runnable 或 callable
  • quantity 类型 integer 默认1 并发数量。
  • 以上就介绍了QPM-PHP多进程开发-Supervisor配置参考,包括了方面的内容,希望对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

    Video Face Swap

    Video Face Swap

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

    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 membetulkan ralat 0xC00CE556 yang dikembalikan oleh penghurai .NET Bagaimana untuk membetulkan ralat 0xC00CE556 yang dikembalikan oleh penghurai .NET Apr 25, 2023 am 08:34 AM

    Semasa memasang versi baharu aplikasi, Windows mungkin memaparkan mesej ralat ini "Ralat berlaku semasa menghuraikan C:\\Windows\Microsoft.Net\Framework\v2.0.50727\Config\machine.configParser mengembalikan ralat 0xC00CE556". Masalah ini juga berlaku apabila sistem anda but. Tidak kira apa situasi yang anda hadapi masalah ini, .NETFramework adalah punca sebenar di sebalik tabir. Terdapat beberapa pembetulan yang sangat mudah yang boleh anda gunakan untuk menghentikan kod ralat ini daripada muncul semula. Betulkan 1 – Gantikan fail yang rosak Anda boleh menggantikan ma yang rosak dengan mudah daripada direktori asal

    Pustaka pengurusan proses dalam PHP8.0: Penyelia Pustaka pengurusan proses dalam PHP8.0: Penyelia May 14, 2023 am 08:28 AM

    Dengan pembangunan berterusan bahasa PHP, semakin banyak fungsi dan perpustakaan diperkenalkan ke dalam kotak alat pembangun Salah satu fungsi penting ialah pengurusan proses. Dalam versi PHP8.0, Supervisor ialah perpustakaan pengurusan proses yang sangat berkuasa, yang boleh membantu kami memulakan, menghentikan, memantau dan memulakan semula proses dengan mudah serta mengekalkan operasi proses yang stabil. Apakah itu Penyelia? Penyelia ialah alat pengurusan proses yang ditulis dalam Python yang membolehkan anda memulakan, menghentikan dan memantau dengan mudah

    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

    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: sistem baris gilir adalah

    Bagaimana untuk menggunakan ThinkPHP\Config untuk pengurusan konfigurasi dalam php? Bagaimana untuk menggunakan ThinkPHP\Config untuk pengurusan konfigurasi dalam php? May 31, 2023 pm 02:31 PM

    Dengan pembangunan berterusan bahasa PHP, ThinkPHP, yang digunakan secara meluas dalam rangka kerja back-end PHP, juga sentiasa bertambah baik. Apabila senario perniagaan menjadi semakin kompleks, permintaan untuk pengurusan konfigurasi dalam ThinkPHP juga semakin meningkat. Dalam konteks ini, ThinkPHP menyediakan fungsi pengurusan konfigurasi yang kaya Hari ini kami akan memperkenalkan cara untuk melaksanakan pengurusan konfigurasi melalui ThinkPHPConfig. 1. Pengenalan kepada ThinkPHPConfig ThinkPHPConfig adalah Nipis

    Bagaimanakah php menggunakan CodeIgniter\Config untuk pengurusan konfigurasi? Bagaimanakah php menggunakan CodeIgniter\Config untuk pengurusan konfigurasi? Jun 02, 2023 pm 06:01 PM

    1. Pengenalan kepada CodeIgniter CodeIgniter ialah rangka kerja pembangunan PHP yang ringan dan komprehensif yang direka untuk menyediakan pembangun web dengan alatan yang pantas dan berkuasa untuk membina aplikasi web. Ia adalah rangka kerja sumber terbuka yang menggunakan corak seni bina MVC untuk mencapai pembangunan pesat dan fungsi asas, sambil menyokong pelbagai pangkalan data. 2. Pengenalan kepada perpustakaan Config Pustaka Config ialah komponen dalam rangka kerja CodeIgniter dan digunakan untuk mengkonfigurasi dan mengurus kod. Pustaka Config mengandungi banyak

    Bagaimana untuk membina persekitaran .NET Core2.0+Nginx+Supervisor di bawah sistem Centos7 Bagaimana untuk membina persekitaran .NET Core2.0+Nginx+Supervisor di bawah sistem Centos7 May 12, 2023 pm 08:13 PM

    1. Pengenalan kepada linux.netcore Untuk sekian lama, Microsoft hanya menyediakan sokongan .net untuk platformnya sendiri Ini bermakna sokongan untuk rangka kerja merentas platform "secara teori" ini pada Linux dan macos hanya boleh disediakan oleh pihak ketiga. projek (seperti mono. net). Sehingga Microsoft melancarkan .netcore, yang merupakan sumber terbuka sepenuhnya. Platform sumber terbuka ini serasi dengan .netstandard dan menyediakan API yang konsisten sepenuhnya pada windows, linux dan macos. Walaupun rangka kerja .net padat ini hanyalah subset daripada .net standard, ia sudah cukup berkuasa. Di satu pihak, rangka kerja kecil ini membenarkan aplikasi berfungsi tertentu untuk dijalankan pada tiga platform pada masa yang sama (sama seperti beberapa platform berfungsi

    Pembangunan Laravel: Bagaimana untuk mengurus tugas tak segerak menggunakan Baris Gilir dan Penyelia Laravel? Pembangunan Laravel: Bagaimana untuk mengurus tugas tak segerak menggunakan Baris Gilir dan Penyelia Laravel? Jun 13, 2023 pm 04:04 PM

    Pembangunan Laravel: Bagaimana untuk mengurus tugas tak segerak menggunakan LaravelQueues dan Supervisor? Dalam aplikasi web moden, tugas tak segerak telah menjadi bahagian penting dalam perniagaan harian. Tugas tak segerak boleh meningkatkan masa tindak balas aplikasi, mengoptimumkan pengalaman pengguna dan meningkatkan kebolehskalaan aplikasi. LaravelQueues ialah alat berkuasa yang disediakan oleh rangka kerja Laravel untuk mengendalikan tugas tak segerak dan baris gilir mesej. Artikel ini akan memperkenalkan LaravelQue

    Cara menggunakan penyelia untuk menguruskan bekas nginx dan tomcat Cara menggunakan penyelia untuk menguruskan bekas nginx dan tomcat May 12, 2023 pm 02:10 PM

    Keperluan: Gunakan docker untuk memulakan proses dwi nginx+tomcat Dalam aplikasi sebenar, berbilang proses adalah perkara biasa. 1: Cipta direktori fail docker mkdir-p/docker/web2: Tulis fail docker:/docker/web/dockerfilefromcentos7maintainerlintest@163.comcopycentos-base.repo/etc/yum.repos.d/centos-base.repocopynginx_install.sh/tmp/nginx_install .shru

    See all articles