出现CLOSE INNER_CONNECTION是什么原因?

karllu

Worker:WORKER EXIT UNEXPECTED E_WARNING stream_socket_client(): unable to connect to tcp://127.0.0.1:40005 (Connection refused)
2014-10-19 16:15:06 Worker:CLIENT: CLOSE INNER_CONNECTION

3524 3 0
3个回答

karllu

程序是基于Gateway/Worker架构的。跑一段时间就出现以上错误,客户端就无法连接了。

  • 暂无评论
karllu

我的起始端口是40000,只开了两个进程,应该不会用到40004和40005的端口的。为什么会出现上述错误呢?

  • 暂无评论
walkor

起始端口是40000,假如开了5个进程,则可能会用到40001-40005这5个端口,即每个gateway进程一个独立的端口通讯。

Worker:WORKER EXIT UNEXPECTED E_WARNING stream_socket_client(): unable to connect to tcp://127.0.0.1:40005 (Connection refused)
意思是一个BusinessWorker进程意外退出了,退出原因可能是BusinessWorker中调用了die或者exit语句。或者BusinessWorker有向终端输出,但是输出过程中终端关闭了,导致PHP进程IO错误(这种问题可以在BusinessWorker.conf中配置no_debug=1解决)。

2014-10-19 16:15:06 Worker:CLIENT: CLOSE INNER_CONNECTION
因为一个BusinessWorker进程异常退出了,所以gateway会检测到与对应BusinessWorker进程的通讯断开了,就有了这条日志

  • 暂无评论
年代过于久远,无法发表回答
🔝