This commit is contained in:
2021-03-02 18:16:34 +08:00
parent 104a0bfe73
commit 967bfa2b37
6 changed files with 28 additions and 8 deletions
+1 -4
View File
@@ -33,11 +33,9 @@ abstract class Callback extends HttpService
protected function clear($server, $worker_id, $message)
{
try {
Timer::clearAll();
fire(Event::SYSTEM_RESOURCE_CLEAN);
\logger()->insert();
\logger()->insert();
Snowflake::clearProcessId($server->worker_pid);
@@ -52,7 +50,6 @@ abstract class Callback extends HttpService
}
const EVENT_ERROR = 'WORKER:ERROR';
const EVENT_STOP = 'WORKER:STOP';
const EVENT_EXIT = 'WORKER:EXIT';
+6
View File
@@ -7,7 +7,9 @@ namespace HttpServer\Events;
use Exception;
use HttpServer\Abstracts\Callback;
use Snowflake\Abstracts\Config;
use Snowflake\Event;
use Snowflake\Exception\ConfigException;
use Snowflake\Snowflake;
use Swoole\Coroutine;
use Swoole\Server;
@@ -28,6 +30,10 @@ class OnWorkerError extends Callback
*/
public function onHandler(Server $server, int $worker_id, int $worker_pid, int $exit_code, int $signal)
{
$event = Snowflake::app()->getEvent();
$event->trigger(Event::SERVER_WORKER_ERROR);
$event->offName(Event::SERVER_WORKER_ERROR);
$this->clear($server, $worker_id, self::EVENT_ERROR);
if (!Config::has('email')) {
return;
+6
View File
@@ -6,6 +6,8 @@ namespace HttpServer\Events;
use Exception;
use HttpServer\Abstracts\Callback;
use Snowflake\Event;
use Snowflake\Snowflake;
/**
* Class OnWorkerExit
@@ -21,6 +23,10 @@ class OnWorkerExit extends Callback
*/
public function onHandler($server, $worker_id)
{
$event = Snowflake::app()->getEvent();
$event->trigger(Event::SERVER_WORKER_EXIT);
$event->offName(Event::SERVER_WORKER_EXIT);
$this->clear($server, $worker_id, self::EVENT_EXIT);
}
+1 -4
View File
@@ -13,6 +13,7 @@ use Snowflake\Exception\ConfigException;
use Snowflake\Snowflake;
use Swoole\Coroutine;
use Swoole\Server;
use Swoole\Timer;
/**
* Class OnWorkerStart
@@ -26,7 +27,6 @@ class OnWorkerStart extends Callback
private int $signal = SIGUSR1 | SIGKILL | SIGKILL;
/**
* @param Server $server
* @param int $worker_id
@@ -44,9 +44,7 @@ class OnWorkerStart extends Callback
} else {
$this->onWorker($server, $worker_id);
}
$this->debug(sprintf('%s #%d Pid:%d start.', ucfirst(env('environmental')), $worker_id, $server->worker_pid));
// Coroutine\go([$this, 'onSignal'], $server, $worker_id);
}
@@ -85,7 +83,6 @@ class OnWorkerStart extends Callback
}
/**
* @param $server
* @param $worker_id
+6
View File
@@ -6,6 +6,8 @@ namespace HttpServer\Events;
use Exception;
use HttpServer\Abstracts\Callback;
use Snowflake\Event;
use Snowflake\Snowflake;
/**
* Class OnWorkerStop
@@ -22,6 +24,10 @@ class OnWorkerStop extends Callback
*/
public function onHandler($server, $worker_id)
{
$event = Snowflake::app()->getEvent();
$event->trigger(Event::SERVER_WORKER_STOP);
$event->offName(Event::SERVER_WORKER_STOP);
$this->clear($server, $worker_id, self::EVENT_STOP);
}