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
+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);
}