Swoole-src: 关闭server时出现警告信息

Created on 26 Jul 2019  ·  3Comments  ·  Source: swoole/swoole-src

PHP 7.3.4
Swoole 4.4.2

kill -15 master_pid

INFO Server is shutdown now
WARNING swWorker_reactor_is_empty (ERRNO 9012): worker exit timeout, forced to terminate

question

Most helpful comment

问题解决,监听 WorkerExit 事件,完成清理即可正常退出。

All 3 comments

Worker 进程内的 定时器 或者 event::add 句柄未清理导致。

Worker 进程内的 定时器 或者 event::add 句柄未清理导致。

同遇到问题,但 WorkerStop 事件总是在超时后才会回调,但没有地方清理。

swoole-4.4.2
php-7.2.20
测试代码

$http = new Server('0.0.0.0', 9998);
$http->set(['daemonize' => false, 'dispatch_mode' => 2, 'worker_num' => 4, 'enable_coroutine' => true]);
$http->on('Request', function (Request $request, Response $response): void {
    $response->end(time());
});
$http->on('WorkerStart', function (Server $server): void {
    Timer::tick(3000, function () {
    });
    echo "WorkerStart#{$server->worker_pid}\n";
});
$http->on('WorkerStop', function (Server $server): void {
    $data = date('Y-m-d H:i:s');
    echo "[{$data}]WorkerStop#{$server->worker_pid}\n";
});
$http->on('Shutdown', function () {
    echo "[]ServerShutdown\n";
});
$http->start();

输出信息

WorkerStart#7420
WorkerStart#7422
WorkerStart#7423
WorkerStart#7421
[2019-07-26 10:49:14 #7414.4]   INFO    Server is shutdown now
[2019-07-26 10:49:44 *7420.0]   WARNING swWorker_reactor_is_empty (ERRNO 9012): worker exit timeout, forced to terminate
[2019-07-26 10:49:44]WorkerStop#7420
[2019-07-26 10:49:44 *7422.2]   WARNING swWorker_reactor_is_empty (ERRNO 9012): worker exit timeout, forced to terminate
[2019-07-26 10:49:44 *7423.3]   WARNING swWorker_reactor_is_empty (ERRNO 9012): worker exit timeout, forced to terminate
[2019-07-26 10:49:44]WorkerStop#7422
[2019-07-26 10:49:44]WorkerStop#7423
[2019-07-26 10:49:44 *7421.1]   WARNING swWorker_reactor_is_empty (ERRNO 9012): worker exit timeout, forced to terminate
[2019-07-26 10:49:44]WorkerStop#7421
[]ServerShutdown

问题解决,监听 WorkerExit 事件,完成清理即可正常退出。

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Gemorroj picture Gemorroj  ·  3Comments

sagesan picture sagesan  ·  4Comments

daslicht picture daslicht  ·  4Comments

sshymko picture sshymko  ·  3Comments

morozovsk picture morozovsk  ·  3Comments