你可以根据自己的业务场景添加自定义进程到server的子进程中,在server调用reload的时候,自定义进程也会平滑重启。如果你在frameInitialize
中new Process
新开自己的进程,那么这将导致自定义进程和httpserver是两个server,重启的时候并不会重启自定义进程。
- 示例代码
在Conf/Event
中的beforeWorkerStart
中新建进程并加入server中
function beforeWorkerStart(\swoole_http_server $server)
{
// TODO: Implement beforeWorkerStart() method.
//添加自定义进程 mq监听进程
$process = new \swoole_process(function (){
$mq = new RabbitMQModel();
$mq->rabbitMQReceiveListening();
});
$server->addProcess($process);
}