处理队列-消费(假设老代码是在终端输出:123) 我把它修改为:456
然后重启webman 发送队列消息,终端还是显示输出的:123 (之前的代码)
我继续测试 发送10次队列消息进去, 偶尔有2 - 3次是输出的:456
这是什么情况啊? 而且我甚至直接把(/app/queue/redis)队列消费文件删除,然后重启webman 再发送队列消息进去,依然还能消费(输出的:123).....我草这 从来没遇到过,这是怎么回事啊?
服务器只运行了一个webman 项目 也只有1份代码
不明所以
解决问题方法:
kill -9 `ps -ef | grep webman | grep -v grep | awk '{print $2}'`
我遇到过这种情况,跟workman无关,和进程 也无关。就是单纯的cli模式下,在index.php里面编写一个类,然后cli模式运行这个文件。有时候改了代码,但是运行结果还是改代码之前的结果。所以我合理的怀疑cli模式是有缓存的。
就是修改代码,有时候webman 重启 甚至停止掉,你 ps aux 发现webman那些消费进程还在运行。。不知道为什么,反正强杀掉就行了。
是不是有旧的worker 还在运行。
是的
出现这种情况应该是master 进程先没了,不然不会出现这种情况。
找到问题了 存在 workerman 进程,这进程就是之前运行的消费进程,很奇怪不知道为什么 主程序都重启了 挂了,但是workerman 的那些消费进程居然还一直在运行,并且即使把文件删除了 它都还能正常工作
不明所以
解决问题方法:
我遇到过这种情况,跟workman无关,和进程 也无关。就是单纯的cli模式下,在index.php里面编写一个类,然后cli模式运行这个文件。有时候改了代码,但是运行结果还是改代码之前的结果。所以我合理的怀疑cli模式是有缓存的。
就是修改代码,有时候webman 重启 甚至停止掉,你 ps aux 发现webman那些消费进程还在运行。。不知道为什么,反正强杀掉就行了。
是不是有旧的worker 还在运行。
是的
出现这种情况应该是master 进程先没了,不然不会出现这种情况。