This commit is contained in:
as2252258@163.com
2021-04-07 02:38:29 +08:00
parent 7672f9c9b2
commit 074d6a05cb
3 changed files with 13 additions and 18 deletions
+3 -5
View File
@@ -28,13 +28,11 @@ class OnPipeMessage extends Callback
*/
public function onHandler(Server $server, int $src_worker_id, $message)
{
// TODO: Implement onHandler() method.
var_dump($message);
if (is_array($message) && ($message[1] ?? null) instanceof Loader) {
if ($message instanceof Loader) {
if ($src_worker_id > $server->setting['worker_num']) {
$message[1]->loadByDirectory(MODEL_PATH);
$message->loadByDirectory(MODEL_PATH);
} else {
$message[1]->loadByDirectory(APP_PATH);
$message->loadByDirectory(APP_PATH);
}
} else {
$events = Snowflake::app()->getEvent();
+4
View File
@@ -39,6 +39,10 @@ class OnWorkerStart extends Callback
name($server->worker_pid, $worker_id >= $server->setting['worker_num'] ? 'task' : 'worker');
/** @var ServerInotify $inotify */
$inotify = Snowflake::app()->get(ServerInotify::class);
$inotify->getLoader($worker_id);
if ($worker_id >= $server->setting['worker_num']) {
$this->onTask($server, $worker_id);
} else {
+6 -13
View File
@@ -46,12 +46,15 @@ class ServerInotify extends Process
/**
* @return mixed
* @param $workerId
* @throws Exception
*/
public function getLoader()
public function getLoader($workerId)
{
$annotation = Snowflake::app()->getAnnotation();
return $annotation->getLoader();
$server = Snowflake::app()->getSwoole();
$server->sendMessage($annotation->getLoader(), $workerId);
}
@@ -74,16 +77,6 @@ class ServerInotify extends Process
if (!is_dir($dir)) continue;
$this->watch($dir);
}
$worker = Snowflake::app()->getSwoole();
$workerNum = $worker->setting['worker_num'];
$task_worker_num = $worker->setting['task_worker_num'] ?? 0;
for ($i = 0; $i < $workerNum + $task_worker_num; $i++) {
$worker->sendMessage(['reload', $this->getLoader()], $i);
}
Event::add($this->inotify, [$this, 'check']);
Event::wait();
} else {