Skip to content

out001a/php-process

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

php-process

简介

PHP多进程管理及单机消息队列。

进程管理使用pcntlswoole扩展。需要自定义dispath(任务分发)和worker(任务处理)程序并注册。 父子进程之间通过消息队列来传递信息(生产者:父进程 --> 消费者:子进程)。 消息队列使用sysvmsg扩展。

Usage

 // 消息队列对象
 $mq = new MsgQueue(array('path' => 消息队列文件的绝对路径, 'proj' => 项目名));

 // 初始化,自定义一些参数
 Process::init(消息队列对象, 同时存在的最大子进程数, fork子进程的时间间隔);
 Process::register('dispatch', function() {
     // 分发待处理的任务列表,需要返回array
     return array();
 });
 Process::register('worker',  function($ppid) {
     // 注册work进程的业务逻辑
     return do_work();
 });
 // 执行
 Process::handle();

注意:
使用的消息队列需要实现sendreceivelen等方法

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages