modify
This commit is contained in:
@@ -97,7 +97,6 @@ class OnTask extends Callback
|
|||||||
*/
|
*/
|
||||||
private function runTaskHandler($data): ?array
|
private function runTaskHandler($data): ?array
|
||||||
{
|
{
|
||||||
$app = Snowflake::app()->increment();
|
|
||||||
try {
|
try {
|
||||||
$serialize = $this->before($data);
|
$serialize = $this->before($data);
|
||||||
$params = $serialize->getParams();
|
$params = $serialize->getParams();
|
||||||
@@ -116,7 +115,6 @@ class OnTask extends Callback
|
|||||||
|
|
||||||
$event = Snowflake::app()->getEvent();
|
$event = Snowflake::app()->getEvent();
|
||||||
$event->trigger(Event::SYSTEM_RESOURCE_CLEAN);
|
$event->trigger(Event::SYSTEM_RESOURCE_CLEAN);
|
||||||
$app->decrement();
|
|
||||||
|
|
||||||
Timer::clearAll();
|
Timer::clearAll();
|
||||||
|
|
||||||
|
|||||||
@@ -36,21 +36,26 @@ class OnWorkerStart extends Callback
|
|||||||
*/
|
*/
|
||||||
public function onHandler(Server $server, int $worker_id): void
|
public function onHandler(Server $server, int $worker_id): void
|
||||||
{
|
{
|
||||||
Coroutine::set(['enable_deadlock_check' => false]);
|
Coroutine::set([
|
||||||
|
'enable_deadlock_check' => false,
|
||||||
|
'exit_condition' => function () {
|
||||||
|
return Coroutine::stats()['coroutine_num'] === 0;
|
||||||
|
}
|
||||||
|
]);
|
||||||
$get_name = $this->get_process_name($server, $worker_id);
|
$get_name = $this->get_process_name($server, $worker_id);
|
||||||
if (!empty($get_name) && !Snowflake::isMac()) {
|
if (!empty($get_name) && !Snowflake::isMac()) {
|
||||||
swoole_set_process_name($get_name);
|
swoole_set_process_name($get_name);
|
||||||
}
|
}
|
||||||
Coroutine\go(function ($server, $worker_id) {
|
// Coroutine\go(function ($server, $worker_id) {
|
||||||
$sigkill = Coroutine::waitSignal(SIGTERM | SIGKILL | SIGUSR2 | SIGUSR1);
|
// $sigkill = Coroutine::waitSignal(SIGTERM | SIGKILL | SIGUSR2 | SIGUSR1);
|
||||||
if ($sigkill !== false) {
|
// if ($sigkill !== false) {
|
||||||
return $server->stop();
|
// return $server->stop();
|
||||||
}
|
// }
|
||||||
while (Snowflake::app()->isRun()) {
|
// while (Snowflake::app()->isRun()) {
|
||||||
Coroutine::sleep(0.01);
|
// Coroutine::sleep(0.01);
|
||||||
}
|
// }
|
||||||
return $server->stop();
|
// return $server->stop();
|
||||||
}, $server, $worker_id);
|
// }, $server, $worker_id);
|
||||||
|
|
||||||
$name = ($worker_id >= $server->setting['worker_num'] ? 'Task' : 'Worker');
|
$name = ($worker_id >= $server->setting['worker_num'] ? 'Task' : 'Worker');
|
||||||
$this->debug(sprintf($name . ' #%d is start.....', $worker_id));
|
$this->debug(sprintf($name . ' #%d is start.....', $worker_id));
|
||||||
@@ -64,8 +69,6 @@ class OnWorkerStart extends Callback
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param $worker_id
|
* @param $worker_id
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
|||||||
Reference in New Issue
Block a user