webman 出现 心跳相关报错heartbeat_interval

bot

问题描述

workman 在运行过程中,命令行出现死锁和mysql 请求超时的情况

程序代码

报错信息

1.这个报错事心跳超时报错

Next Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Operation timed out (Connection: mysql, SQL: select 1) in /Users/bot/project/ai/vendor/illuminate/database/Connection.php:829
Stack trace:
#0 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback('select 1', Array, Object(Closure))
#1 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(414): Illuminate\Database\Connection->run('select 1', Array, Object(Closure))
#2 /Users/bot/project/ai/vendor/webman/database/src/DatabaseManager.php(63): Illuminate\Database\Connection->select('select 1')
#3 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(328): Webman\Database\DatabaseManager->Webman\Database\{closure}(Object(Illuminate\Database\MySqlConnection))
#4 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(309): Workerman\Coroutine\Pool->trySendHeartbeat(Object(Illuminate\Database\MySqlConnection))
#5 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(132): Workerman\Coroutine\Pool->checkConnections()
#6 /Users/bot/project/ai/vendor/workerman/workerman/src/Events/Swoole.php(288): Workerman\Coroutine\Pool->Workerman\Coroutine\{closure}()
#7 [internal function]: Workerman\Events\Swoole->Workerman\Events\{closure}()
#8 {main}

2. 这个报错是在关闭workman的时候出现死锁,报错信息也是和心跳有关。
Workerman[start.php] stopping

===================================================================
 [FATAL ERROR]: all coroutines (count: 1) are asleep - deadlock!
===================================================================

 [Coroutine-101]
--------------------------------------------------------------------
#0 /Users/bot/project/ai/vendor/illuminate/database/Connectors/MySqlConnector.php(75): PDO->prepare()
#1 /Users/bot/project/ai/vendor/illuminate/database/Connectors/MySqlConnector.php(32): Illuminate\Database\Connectors\MySqlConnector->configureEncoding()
#2 /Users/bot/project/ai/vendor/illuminate/database/Connectors/ConnectionFactory.php(184): Illuminate\Database\Connectors\MySqlConnector->connect()
#3 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}()
#4 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1339): call_user_func()
#5 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1375): Illuminate\Database\Connection->getPd
===================================================================
 [FATAL ERROR]: all coroutines (count: 1) are asleep - deadlock!
===================================================================

 [Coroutine-101]
--------------------------------------------------------------------
#0 /Users/bot/project/ai/vendor/illuminate/database/Connectors/MySqlConnector.php(75): PDO->prepare()
#1 /Users/bot/project/ai/vendor/illuminate/database/Connectors/MySqlConnector.php(32): Illuminate\Database\Connectors\MySqlConnector->configureEncoding()
#2 /Users/bot/project/ai/vendor/illuminate/database/Connectors/ConnectionFactory.php(184): Illuminate\Database\Connectors\MySqlConnector->connect()
#3 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}()
#4 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1339): call_user_func()
#5 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1375): Illuminate\Database\Connection->getPdo()
#6 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(528): Illuminate\Database\Connection->getReadPdo()
#7 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(423): Illuminate\Database\Connection->getPdoForSelect()
#8 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#9 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(983): Illuminate\Database\Connection->runQueryCallback()
#10 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(962): Illuminate\Database\Connection->tryAgainIfCausedByLostConnection()
#11 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(785): Illuminate\Database\Connection->handleQueryException()
#12 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(414): Illuminate\Database\Connection->run()
#13 /Users/bot/project/ai/vendor/webman/database/src/DatabaseManager.php(63): Illuminate\Database\Connection->select()
#14 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(328): Webman\Database\DatabaseManager->Webman\Database\{closure}()
#15 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(309): Workerman\Coroutine\Pool->trySendHeartbeat()
#16 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(132): Workerman\Coroutine\Pool->checkConnections()
#17 /Users/bot/project/ai/vendor/workerman/workerman/src/Events/Swoole.php(288): Workerman\Coroutine\Pool->Workerman\Coroutine\{closure}()
#18 [internal function]: Workerman\Events\Swoole->Workerman\Events\{closure}()
o()
#6 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(528): Illuminate\Database\Connection->getReadPdo()
#7 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(423): Illuminate\Database\Connection->getPdoForSelect()
#8 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#9 /Users/bot/project/ai/vendor/illuminate/database/Conn
===================================================================
 [FATAL ERROR]: all coroutines (count: 1) are asleep - deadlock!
===================================================================

 [Coroutine-135]
--------------------------------------------------------------------
#0 /Users/bot/project/ai/vendor/illuminate/database/Connectors/Connector.php(65): PDO->__construct()
#1 /Users/bot/project/ai/vendor/illuminate/database/Connectors/Connector.php(44): Illuminate\Database\Connectors\Connector->createPdoConnection()
#2 /Users/bot/project/ai/vendor/illuminate/database/Connectors/MySqlConnector.php(24): Illuminate\Database\Connectors\Connector->createConnection()
#3 /Users/bot/project/ai/vendor/illuminate/database/Connectors/ConnectionFactory.php(184): Illuminate\Database\Connectors\MySqlConnector->connect()
#4 [internal function]: Illuminate\Database\Connectors\ConnectionFactory->Illuminate\Database\Connectors\{closure}()
#5 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1339): call_user_func()
#6 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(1375): Illuminate\Database\Connection->getPdo()
#7 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(528): Illuminate\Database\Connection->getReadPdo()
#8 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(423): Illuminate\Database\Connection->getPdoForSelect()
#9 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(816): Illuminate\Database\Connection->Illuminate\Database\{closure}()
#10 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(783): Illuminate\Database\Connection->runQueryCallback()
#11 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(414): Illuminate\Database\Connection->run()
#12 /Users/bot/project/ai/vendor/webman/database/src/DatabaseManager.php(63): Illuminate\Database\Connection->select()
#13 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(328): Webman\Database\DatabaseManager->Webman\Database\{closure}()
#14 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(309): Workerman\Coroutine\Pool->trySendHeartbeat()
#15 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(132): Workerman\Coroutine\Pool->checkConnections()
#16 /Users/bot/project/ai/vendor/workerman/workerman/src/Events/Swoole.php(288): Workerman\Coroutine\Pool->Workerman\Coroutine\{closure}()
#17 [internal function]: Workerman\Events\Swoole->Workerman\Events\{closure}()

ection.php(783): Illuminate\Database\Connection->runQueryCallback()
#10 /Users/bot/project/ai/vendor/illuminate/database/Connection.php(414): Illuminate\Database\Connection->run()
#11 /Users/bot/project/ai/vendor/webman/database/src/DatabaseManager.php(63): Illuminate\Database\Connection->select()
#12 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(328): Webman\Database\DatabaseManager->Webman\Database\{closure}()
#13 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(309): Workerman\Coroutine\Pool->trySendHeartbeat()
#14 /Users/bot/project/ai/vendor/workerman/coroutine/src/Pool.php(132): Workerman\Coroutine\Pool->checkConnections()
#15 /Users/bot/project/ai/vendor/workerman/workerman/src/Events/Swoole.php(288): Workerman\Coroutine\Pool->Workerman\Coroutine\{closure}()
#16 [internal function]: Workerman\Events\Swoole->Workerman\Events\{closure}()

截图报错信息里报错文件相关代码

前台无相关报错,就是后台出现的报错。网上看到一种方案,关闭心跳。想问下如何解决?

操作系统及workerman/webman等框架组件具体版本

Workerman/5.1.1 PHP/8.2.28 (Jit off) Darwin/24.3.0
电脑环境是 mac

28 0 0
0个回答

×
🔝