GatewayWorker因为businessworker内存不断增高,想达到一定请求后重启
1、如果用Worker::stopAll()会导致这个worker后续消息接收丢失吗?以及当前处理的消息会失败吗?
2、我可以平滑重启吗?
$master_pid = \is_file(Worker::$pidFile) ? \file_get_contents(Worker::$pidFile) : 0;
$sig = \SIGUSR1;
\posix_kill($master_pid, $sig);
1、有丢失的可能性
2、这个效果和 调用 Worker::stopAll() 类似
好的,感谢!那有什么办法避免丢失吗
最好在凌晨reload。
@1:好滴