swoole的PHP热重启,swoole如何重启
在swoole中,我们可以向主进程发送各种不同的信号,主进程根据接收到的信号类型做出不同的处理。
比如下面这几个 (推荐学习:swoole视频教程)1、kill -SIGTERM|-15 master_pid 终止Swoole程序,一种优雅的终止信号,会待进程执行完当前程序之后中断,而不是直接干掉进程
2、kill -USR1|-10 master_pid 重启所有的Worker进程
3、kill -USR2|-12 master_pid 重启所有的Task Worker进程
当USR1信号被发送给Master进程后,Master进程会将同样的信号通过Manager进程转发Worker进程,收到此信号的Worker进程会在处理完正在执行的逻辑之后,释放进程内存,关闭自己,然后由Manager进程重启一个新的Worker进程。
新的Worker进程会占用新的内存空间。
场景:
如果是上线的项目,一台繁忙的后端服务器随时都在处理请求,如果管理员通过kill进程方式来终止/重启服务器程序,可能导致刚好代码执行到一半终止。
这种情况下会产生数据的不一致。
如交易系统中,支付逻辑的下一段是发货,假设在支付逻辑之后进程被终止了。会导致用户支付了货币,但并没有发货,后果非常严重。
swoole为我们提供了平滑重启机制,我们只需要向swoole_server的主进程发送特定的信号,即可完成对server的重启。
注意事项:
1、更新仅仅只是针对worker进程,在worker 进程当中include 也就是写在master进程跟manger进程当中更新代码并不生效,也就是说只有在onWorkerStart回调之后加载的文件,重启才有意义。
在Worker进程启动之前就已经加载到内存中的文件,如果想让它重新生效,只能关闭server再重启。
2、直接写在worker代码当中的逻辑是不会生效的,就算发送了信号也不会,需要通过include方式引入相关的业务逻辑代码才会生效
swoole的PHP热重启,swoole如何重启相关推荐
- php7.1解压包安装,【Swoole】php7.1安装swoole扩展
参照:https://zixuephp.net/article-430.html 1.源码编译安装,PHP版本7.1.33 2.在已经编译好安装的php7.1中安装swoole扩展. 一.下载swoo ...
- swoole学习(一)----linux安装swoole
1.下载swoole 登录swoole官网 https://www.swoole.com/ 点击下载,找到github或者其他链接下载下来 放到虚拟机上. 也可以使用虚拟机下载 2.登录虚拟机 推荐使 ...
- php7 swoole 扩展,PHP7.2加入swoole扩展
首先找到phpize的位置,一般在安装目录的bin目录中 在swoole文件夹中执行phpize season@ubuntu:~/Downloads/swoole$ /usr/local/php/bi ...
- 共享服务器不能远程重启,彻底解决服务器重启失败或重启缓慢无法远程的问题...
服务器在日常管理中,由于某种原因导致运行缓慢,或者是服务器在安装了某些软件后,需要执行重启来完成安装.重启服务器也是服务器日常维护中,所占比例最大的,但是,由于独立服务器不像VPS或云服务器一样,提供 ...
- 软重启、硬重启、重启、重置概念介绍
转自:微点阅读 https://www.weidianyuedu.com 如果你使用的是Windows电脑,甚至是手机,我相信你已经听说过所有这些术语.虽然它们听起来很相似,但是它们之间还是有区别的 ...
- iphone快捷指令一键重启_一键重启捷径怎么设置 一键重启捷径设置教程
一键重启捷径怎么设置?相信很多小伙伴都还不是很清楚吧,下面小编就为大家带来一键重启捷径设置教程.感兴趣的小伙伴们随小编一起来看看吧,希望对大家能有所帮助. 那么一键重启捷径怎么制作呢?接下来看看IT数 ...
- 安装VMware15提示重启电脑,重启后又还是提示重启电脑
安装VMware15一直提示重启电脑,重启了N次,解决办法 解决办法:Windows+R快捷键打开注册表regedit 删除注册表内[HKEY_LOCAL_MACHINE\SYSTEM\Current ...
- oracle12数据库重启命令,linux重启oracle数据库命令
Linux中可以通过相关命令重启oracle数据库,下面由学习啦小编为大家整理了linux重启oracle数据库命令和方法的相关知识,希望对大家有帮助! linux重启oracle数据库命令和方法1 ...
- iphone快捷指令一键重启_iPhoneX如何一键重启 iPhoneX一键重启方法介绍【图文】
iPhoneX如何一键重启?相信小伙伴们一定很好奇,下面小编为大家带来了iPhoneX一键重启方法介绍,感兴趣的小伙伴赶紧跟着小编一起来看看吧. iPhone X怎么一键重启?iPhone X重启键在 ...
- python 重启程序_python重启程序
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! # 重启程序 def restart_program():print(重启... ...
最新文章
- fields在php中,phpmysqli_num_fields函数怎么用
- windows 下 logstash 安装启动
- PowerDesigner 15.1 安装步骤详细图解及破解
- [Xcode 实际操作]五、使用表格-(11)调整UITableView的单元格顺序
- c语言 期末,c语言期末 求助
- java 文件上传终止_java文件上传
- 移动平均法(Moving average,MA) 指数平滑法(Exponential Smoothing,ES)
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(8)- 从Raw NAND启动
- 计算机打开资源管理器停止工作,windows资源管理器已停止工作,教您windows资源管理器已停止工作怎么解决...
- python中match用法_Python3.9.1中使用match方法详解
- 如何在Foobar2000中使用iPod
- msdn突然无法使用,打开的页面无法正常显示。
- Spring AOP报错Set ‘exposeProxy‘ property on Advised to ‘true‘ to make it available问题
- javascript中mouseover和mouseout事件详解
- 信息系统基础知识---信息系统工程
- 解决双击tomcat startup.bat的弹框一闪而过的问题,以及如何配置 jre_home 和 java_home
- IE浏览器低版本判断及升级提示
- 【工业智能】知识进化论:卓越运营是如何拥抱工业智能,如虎添翼的?
- [Git Rebase] Git Rebase 合并提交(命令操作 SourceTree 操作)
- 国足晋级12强 | 爬取《NBA30支球队》“现役球员信息”,再来看看篮球吧!