GatewayWorker运行一段时间后报如下错误,这是什么原因导致的,有看到进程busy
Fatal error: Uncaught exception 'Exception' with message 'connection close tcp://192.168.3.102:2904' in /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php:742
Stack trace:
#0 /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php(674): GatewayWorker\Lib\Gateway::sendAndRecv('192.168.3.102:2...', Array)
#1 /usr/MDDeviceService/Applications/MDDeviceServer/Events.php(260): GatewayWorker\Lib\Gateway::getSession('c0a803660b58000...')
#2 : Events::{closure}('c0a803660b58000...')
#3 /usr/MDDeviceService/vendor/workerman/workerman/Events/Select.php(233): call_user_func_array(Object(Closure), Array)
#4 /usr/MDDeviceService/vendor/workerman/workerman/Events/Select.php(274): Workerman\Events\Select->tick()
#5 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(2096): Workerman\Events\Select->loop()
#6 /usr/MDDeviceService/vendor/workerman/gateway-worker/src/BusinessWorker.php(190): Workerman\Worker->run()
#7 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(1 in /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php on line 742
Worker process terminated with ERROR: E_ERROR "Uncaught exception 'Exception' with message 'connection close tcp://192.168.3.102:2904' in /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php:742
Stack trace:
#0 /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php(674): GatewayWorker\Lib\Gateway::sendAndRecv('192.168.3.102:2...', Array)
#1 /usr/MDDeviceService/Applications/MDDeviceServer/Events.php(260): GatewayWorker\Lib\Gateway::getSession('c0a803660b58000...')
#2 : Events::{closure}('c0a803660b58000...')
#3 /usr/MDDeviceService/vendor/workerman/workerman/Events/Select.php(233): call_user_func_array(Object(Closure), Array)
#4 /usr/MDDeviceService/vendor/workerman/workerman/Events/Select.php(274): Workerman\Events\Select->tick()
#5 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(2096): Workerman\Events\Select->loop()
#6 /usr/MDDeviceService/vendor/workerman/gateway-worker/src/BusinessWorker.php(190): Workerman\Worker->run()
#7 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(1 in /usr/MDDeviceService/vendor/workerman/gateway-worker/src/Lib/Gateway.php on line 742"
3个回答
年代过于久远,无法发表回答
看起来像是操作了超大的session导致内存超过php.ini的限制导致进程退出。
有问题后php start.php status 截图下,截全。
还有看下workerman.log日志里有没有什么信息
这是结束服务后才能看到的错,不结束服务看不到
结束服务报错不用管。是因为进程退出了,有些业务还在运行。
workerman.log中的报错信息
2019-01-04 12:30:15 pid:22312 process_timeout:#1 /usr/MDDeviceService/vendor/workerman/workerman/Events/Select.php(263): pcntl_signal_dispatch()
2 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(2096): Workerman\Events\Select->loop()
3 /usr/MDDeviceService/vendor/workerman/gateway-worker/src/BusinessWorker.php(190): Workerman\Worker->run()
4 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(1294): GatewayWorker\BusinessWorker->run()
5 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(1127): Workerman\Worker::forkOneWorkerForLinux(Object(GatewayWorker\BusinessWorker))
6 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(1100): Workerman\Worker::forkWorkersForLinux()
7 /usr/MDDeviceService/vendor/workerman/workerman/Worker.php(459): Workerman\Worker::forkWorkers()
8 /usr/MDDeviceService/start.php(52): Workerman\Worker::runAll()
9 {main}
php start.php status 截图如下[attach]1612[/attach]
[attach]1611[/attach]
[attach]1614[/attach]
[attach]1615[/attach]
[attach]1613[/attach]