GatewayWorker运行一段时间后报如下错误,这是什么原因导致的,有看到进程busy

chenxi
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"
4304 3 0
3个回答

walkor

看起来像是操作了超大的session导致内存超过php.ini的限制导致进程退出。
 有问题后php start.php status 截图下,截全。
还有看下workerman.log日志里有没有什么信息
 

  • chenxi 2019-01-04

    这是结束服务后才能看到的错,不结束服务看不到

  • walkor 2019-01-04

    结束服务报错不用管。是因为进程退出了,有些业务还在运行。

chenxi

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]
 

  • 暂无评论
chenxi

[attach]1614[/attach]

[attach]1615[/attach]

[attach]1613[/attach]
 

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