cli下 运行php start.php reload (平滑重启)
在Event.php文件中的 onMessage回调中使用new class
发现class文件中的代码修改之后,php start.php reload命令后
class文件中的代码没有重效,执行的还是修改之前的代码 [attach]268[/attach]
54 55行去掉 onMessage里面直接 Gateway::sendToAll("xxxx"); reload 试下
测试了一下,还是无效! filemonitor加入之后也是无法自动reload
业务逻辑代码肯定是在Event.php 中onMessage方法 之外的,在onMessage中调用逻辑代码,逻辑代码修改之后,无法reload呀
reload后运行php start.php status贴下
[root@iZ28jc59k68Z get_work]# [root@iZ28jc59k68Z get_work]# php start.php reload Workerman[start.php] reload Workerman[start.php] reload [root@iZ28jc59k68Z get_work]# php start.php status Workerman[start.php] status ---------------------------------------GLOBAL STATUS-------------------------------------------- Workerman version:3.3.0 PHP version:5.6.13 start time:2016-04-05 14:45:52 run 0 days 0 hours load average: 0.12, 0.03, 0.01 event-loop:select 4 workers 10 processes worker_name exit_status exit_count YourAppBusinessWorker 0 20 YourAppGateway 0 0 Register 0 0 FileMonitor 0 0 ---------------------------------------PROCESS STATUS------------------------------------------- pid memory listening worker_name connections total_request send_fail throw_exception 18720 0.75M none YourAppBusinessWorker 5 1 0 0 18721 0.75M none YourAppBusinessWorker 5 1 0 0 18722 0.75M none YourAppBusinessWorker 5 1 0 0 18723 0.75M none YourAppBusinessWorker 5 1 0 0 18277 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0 18278 1M text://0.0.0.0:8282 YourAppGateway 8 208 0 0 18279 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0 18280 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0 18281 0.75M text://0.0.0.0:1238 Register 8 28 0 0 18282 0.75M none FileMonitor 0 0 0 0 [root@iZ28jc59k68Z get_work]#
看起来是你在主进程加载了Event.php导致的
这个是GatewayWorker框架里面demo,我直接按照官方demo执行的!这种情况有解决的办法吗?
框架是没问题的,你可以重新下载一份代码,不要加入任何业务逻辑试下
重新下载GatewayWorker框架部署,运行之后还是无法热更新php代码!楼主能不能给个最近解决方式,尝试各种方法,按照框架部署,就是实现不了热更新!求助!
我这测试可以,别人也都可以
54 55行去掉
onMessage里面直接
Gateway::sendToAll("xxxx"); reload 试下
测试了一下,还是无效! filemonitor加入之后也是无法自动reload
业务逻辑代码肯定是在Event.php 中onMessage方法 之外的,在onMessage中调用逻辑代码,逻辑代码修改之后,无法reload呀
reload后运行php start.php status贴下
[root@iZ28jc59k68Z get_work]#
[root@iZ28jc59k68Z get_work]# php start.php reload
Workerman[start.php] reload
Workerman[start.php] reload
[root@iZ28jc59k68Z get_work]# php start.php status
Workerman[start.php] status
---------------------------------------GLOBAL STATUS--------------------------------------------
Workerman version:3.3.0 PHP version:5.6.13
start time:2016-04-05 14:45:52 run 0 days 0 hours
load average: 0.12, 0.03, 0.01 event-loop:select
4 workers 10 processes
worker_name exit_status exit_count
YourAppBusinessWorker 0 20
YourAppGateway 0 0
Register 0 0
FileMonitor 0 0
---------------------------------------PROCESS STATUS-------------------------------------------
pid memory listening worker_name connections total_request send_fail throw_exception
18720 0.75M none YourAppBusinessWorker 5 1 0 0
18721 0.75M none YourAppBusinessWorker 5 1 0 0
18722 0.75M none YourAppBusinessWorker 5 1 0 0
18723 0.75M none YourAppBusinessWorker 5 1 0 0
18277 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0
18278 1M text://0.0.0.0:8282 YourAppGateway 8 208 0 0
18279 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0
18280 0.75M text://0.0.0.0:8282 YourAppGateway 5 116 0 0
18281 0.75M text://0.0.0.0:1238 Register 8 28 0 0
18282 0.75M none FileMonitor 0 0 0 0
[root@iZ28jc59k68Z get_work]#
看起来是你在主进程加载了Event.php导致的
这个是GatewayWorker框架里面demo,我直接按照官方demo执行的!这种情况有解决的办法吗?
框架是没问题的,你可以重新下载一份代码,不要加入任何业务逻辑试下
重新下载GatewayWorker框架部署,运行之后还是无法热更新php代码!楼主能不能给个最近解决方式,尝试各种方法,按照框架部署,就是实现不了热更新!求助!
我这测试可以,别人也都可以