热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

swoole热重启

参考原文https:blog.csdn.netldy3243942articledetails40712475代码用的原来只是自己加了一些操作流程swoole_reload_se

参考原文 https://blog.csdn.net/ldy3243942/article/details/40712475

代码用的原来只是自己加了一些操作流程

 swoole_reload_server.php

/*** Example for swoole reload php code without shutdowning server.** @author Lancelot https://github.com/LinkedDestiny*/
class Server
/*** Example for swoole reload php code without shutdowning server.** @author Lancelot https://github.com/LinkedDestiny*/
class Server
{private $serv;public function __construct() {$this->serv = new swoole_server("0.0.0.0", 9501);$this->serv->set(array('worker_num' => 8,'daemonize' => false,'max_request' => 10000,'dispatch_mode' => 2,'debug_mode'=> 1,));$this->serv->on('Start', array($this, 'onStart'));$this->serv->on('WorkerStart', array($this, 'onWorkerStart'));$this->serv->on('Connect', array($this, 'onConnect'));$this->serv->on('Receive', array($this, 'onReceive'));$this->serv->on('Close', array($this, 'onClose'));$this->serv->start();}public function onStart( $serv ) {echo "Start\n";cli_set_process_title("reload_master");}public function onWorkerStart( $serv , $worker_id) {require_once "reload_page.php";Test();}public function onConnect( $serv, $fd, $from_id ) {echo "Client {$fd} connect\n";}public function onReceive( swoole_server $serv, $fd, $from_id, $data ) {echo "Get Message From Client {$fd}:{$data}\n";}public function onClose( $serv, $fd, $from_id ) {echo "Client {$fd} close connection\n";}
}
new Server();

reload.sh

echo "Reloading..."
cmd=$(pidof reload_master)kill -USR1 "$cmd"
echo "Reloaded"

reload_page.php 

/*** If you change this function and want* swoole_server to use the new function,* just run 'reload.sh' to send a restart* signal to swoole_server.*/
function Test() {echo "This is not a php file\n";
}


操作流程如下



这个时候 reload_page.php 函数还是



大神代码里的注释试修改这个 那么我们开始修改 再执行.sh脚本 看看是否有变化

尝试修改为


然后执行脚本呢  脚本 记得 chmod a+x 授权一下 


发现这个原来的sever改变了 


变成了 i‘m  fun  这里没加换行  大概就这样实现了热重启 



推荐阅读
author-avatar
小-捌_350
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有