
swoole历程封闭后能够运用Server->reload要领重启。
Server->reload要领引见:
重启一切Worker/Task历程。
bool Server->reload(bool $only_reload_taskworkrer = false)
$only_reload_taskworkrer 是不是仅重启Task历程
一台忙碌的后端服务器随时都在处置惩罚要求,假如治理员经由过程kill历程体式格局来停止/重启服务器顺序,大概致使恰好代码实行到一半停止。
这类情况下会发生数据的不一致。如交易系统中,付出逻辑的下一段是发货,假设在付出逻辑以后历程被停止了。会致使用户付出了钱银,但并没有发货,效果异常严峻。
Swoole供应了柔性停止/重启的机制,治理员只需要向Server发送特定的信号,Server的Worker历程能够平安的完毕。
1、SIGTERM: 向主历程/治理历程发送此信号服务器将平安停止
2、在PHP代码中能够挪用$serv->shutdown()完成此操纵
3、SIGUSR1: 向主历程/治理历程发送SIGUSR1信号,将安稳地restart一切Worker历程
4、在PHP代码中能够挪用$serv->reload()完成此操纵
5、reload有庇护机制,当一次reload正在举行时,收到新的重启信号会抛弃
6、假如设置了user/group,Worker历程大概没有权限向master历程发送信息,这类情况下必需运用root账户,在shell中实行kill指令举行重启
7、reload指令对addProcess增加的用户历程无效
引荐进修:swoole视频教程
以上就是swoole历程封闭后怎样重启的细致内容,更多请关注ki4网别的相干文章!