改名
This commit is contained in:
@@ -27,25 +27,6 @@ abstract class Callback extends HttpService
|
|||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param $server
|
|
||||||
* @param $worker_id
|
|
||||||
* @param $message
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
protected function clear(Server $server, $worker_id, $message)
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
/** @var Process $logger */
|
|
||||||
$logger = Snowflake::app()->get(LoggerProcess::class);
|
|
||||||
$logger->write(Json::encode([$this->_MESSAGE[$message] . $worker_id, 'log/app']));
|
|
||||||
|
|
||||||
$this->eventNotify($message);
|
|
||||||
} catch (\Throwable $exception) {
|
|
||||||
$this->addError($exception, 'throwable');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const EVENT_ERROR = 'WORKER:ERROR';
|
const EVENT_ERROR = 'WORKER:ERROR';
|
||||||
const EVENT_STOP = 'WORKER:STOP';
|
const EVENT_STOP = 'WORKER:STOP';
|
||||||
@@ -58,24 +39,6 @@ abstract class Callback extends HttpService
|
|||||||
self::EVENT_EXIT => 'The server exit. at No.',
|
self::EVENT_EXIT => 'The server exit. at No.',
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
|
||||||
* @param $message
|
|
||||||
* @throws Exception
|
|
||||||
*/
|
|
||||||
private function eventNotify($message)
|
|
||||||
{
|
|
||||||
switch ($message) {
|
|
||||||
case self::EVENT_ERROR:
|
|
||||||
fire(Event::SERVER_WORKER_ERROR);
|
|
||||||
break;
|
|
||||||
case self::EVENT_EXIT:
|
|
||||||
fire(Event::SERVER_WORKER_EXIT);
|
|
||||||
break;
|
|
||||||
case self::EVENT_STOP:
|
|
||||||
fire(Event::SERVER_WORKER_STOP);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -132,7 +95,6 @@ abstract class Callback extends HttpService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws ConfigException
|
* @throws ConfigException
|
||||||
* @throws ComponentException
|
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
protected function clearMysqlClient()
|
protected function clearMysqlClient()
|
||||||
@@ -155,7 +117,6 @@ abstract class Callback extends HttpService
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @throws ConfigException
|
* @throws ConfigException
|
||||||
* @throws ComponentException
|
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
protected function clearRedisClient()
|
protected function clearRedisClient()
|
||||||
|
|||||||
@@ -6,11 +6,8 @@ namespace HttpServer\Events;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use HttpServer\Abstracts\Callback;
|
use HttpServer\Abstracts\Callback;
|
||||||
use Snowflake\Abstracts\Config;
|
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
use Snowflake\Exception\ConfigException;
|
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
use Swoole\Coroutine;
|
|
||||||
use Swoole\Server;
|
use Swoole\Server;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -33,18 +30,14 @@ class OnWorkerError extends Callback
|
|||||||
{
|
{
|
||||||
$event = Snowflake::app()->getEvent();
|
$event = Snowflake::app()->getEvent();
|
||||||
$event->trigger(Event::SERVER_WORKER_ERROR);
|
$event->trigger(Event::SERVER_WORKER_ERROR);
|
||||||
$event->offName(Event::SERVER_WORKER_ERROR);
|
|
||||||
|
|
||||||
$this->clear($server, $worker_id, self::EVENT_ERROR);
|
$message = sprintf('Worker#%d error stop. signal %d, exit_code %d',
|
||||||
if (!Config::has('email')) {
|
$worker_id, $signal, $exit_code
|
||||||
return;
|
);
|
||||||
}
|
|
||||||
$this->system_mail(print_r([
|
write($message, 'worker-exit');
|
||||||
'$worker_pid' => $worker_pid,
|
|
||||||
'$worker_id' => $worker_id,
|
\logger()->insert();
|
||||||
'$exit_code' => $exit_code,
|
|
||||||
'$signal' => $signal,
|
|
||||||
], true));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ use Exception;
|
|||||||
use HttpServer\Abstracts\Callback;
|
use HttpServer\Abstracts\Callback;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
use Swoole\Timer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class OnWorkerExit
|
* Class OnWorkerExit
|
||||||
@@ -30,9 +31,6 @@ class OnWorkerExit extends Callback
|
|||||||
|
|
||||||
$event = Snowflake::app()->getEvent();
|
$event = Snowflake::app()->getEvent();
|
||||||
$event->trigger(Event::SERVER_WORKER_EXIT);
|
$event->trigger(Event::SERVER_WORKER_EXIT);
|
||||||
$event->offName(Event::SERVER_WORKER_EXIT);
|
|
||||||
|
|
||||||
$this->clear($server, $worker_id, self::EVENT_EXIT);
|
|
||||||
|
|
||||||
\logger()->insert();
|
\logger()->insert();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ namespace HttpServer\Events;
|
|||||||
|
|
||||||
use Exception;
|
use Exception;
|
||||||
use HttpServer\Abstracts\Callback;
|
use HttpServer\Abstracts\Callback;
|
||||||
|
use Snowflake\Error\Logger;
|
||||||
use Snowflake\Event;
|
use Snowflake\Event;
|
||||||
use Snowflake\Snowflake;
|
use Snowflake\Snowflake;
|
||||||
|
use Swoole\Timer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class OnWorkerStop
|
* Class OnWorkerStop
|
||||||
@@ -26,9 +28,13 @@ class OnWorkerStop extends Callback
|
|||||||
{
|
{
|
||||||
$event = Snowflake::app()->getEvent();
|
$event = Snowflake::app()->getEvent();
|
||||||
$event->trigger(Event::SERVER_WORKER_STOP);
|
$event->trigger(Event::SERVER_WORKER_STOP);
|
||||||
$event->offName(Event::SERVER_WORKER_STOP);
|
|
||||||
|
|
||||||
$this->clear($server, $worker_id, self::EVENT_STOP);
|
$this->clearMysqlClient();
|
||||||
|
$this->clearRedisClient();
|
||||||
|
|
||||||
|
Timer::clearAll();
|
||||||
|
|
||||||
|
\logger()->insert();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user