Skip to content

Commit

Permalink
变更
Browse files Browse the repository at this point in the history
  • Loading branch information
zhangjincheng committed May 30, 2019
1 parent 6e0e540 commit 6c99091
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 20 deletions.
26 changes: 7 additions & 19 deletions src/Core/Server/Process/Process.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
use ESD\Core\Context\ContextManager;
use ESD\Core\Message\Message;
use ESD\Core\Message\MessageProcessor;
use ESD\Core\Plugins\Event\Event;
use ESD\Core\Plugins\Event\EventDispatcher;
use ESD\Core\Server\Server;
use Psr\Log\LoggerInterface;
Expand Down Expand Up @@ -247,14 +246,6 @@ public function _onProcessStart()
});
$this->log = Server::$instance->getLog();
$this->eventDispatcher = Server::$instance->getEventDispatcher();
//基础插件初始化
$this->server->getBasePlugManager()->beforeProcessStart($this->context);
$this->server->getBasePlugManager()->waitReady();
if ($this->processId != 0) {
//多进程只允许一个进程加载完后才能加载其他进程,否则会出现文件读写冲突
$call = $this->eventDispatcher->listen(ProcessEvent::ProcessReadyEvent, null, true);
$call->wait();
}
try {
Server::$isStart = true;
if ($this->processName != null) {
Expand All @@ -263,7 +254,9 @@ public function _onProcessStart()
$this->server->getProcessManager()->setCurrentProcessId($this->processId);
$this->processPid = getmypid();
$this->server->getProcessManager()->setCurrentProcessPid($this->processPid);

//基础插件初始化
$this->server->getBasePlugManager()->beforeProcessStart($this->context);
$this->server->getBasePlugManager()->waitReady();
//用户插件初始化
$this->server->getPlugManager()->beforeProcessStart($this->context);
$this->server->getPlugManager()->waitReady();
Expand Down Expand Up @@ -295,11 +288,6 @@ public function _onProcessStart()
enableRuntimeCoroutine();
//发出事件
$this->eventDispatcher->dispatchEvent(new ProcessEvent(ProcessEvent::ProcessStartEvent, $this));
if ($this->processId == 0) {
$this->eventDispatcher->dispatchProcessEvent(new Event(ProcessEvent::ProcessReadyEvent, ""),
... Server::$instance->getProcessManager()->getProcesses()
);
}
$this->onProcessStart();
} catch (\Throwable $e) {
$this->log->error($e);
Expand All @@ -319,12 +307,12 @@ public abstract function init();
*/
public function _onPipeMessage(Message $message, Process $fromProcess)
{
if (!$this->isReady()) {
$this->pipeMessageCache[] = [$message, $fromProcess];
return;
}
try {
if (!MessageProcessor::dispatch($message)) {
if (!$this->isReady()) {
$this->pipeMessageCache[] = [$message, $fromProcess];
return;
}
$this->onPipeMessage($message, $fromProcess);
}
} catch (\Throwable $e) {
Expand Down
1 change: 0 additions & 1 deletion src/Core/Server/Process/ProcessEvent.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

class ProcessEvent extends Event
{
const ProcessReadyEvent = "ProcessReadyEvent";
const ProcessStartEvent = "ProcessStartEvent";
const ProcessStopEvent = "ProcessStopEvent";
}

0 comments on commit 6c99091

Please sign in to comment.