Files
zhamao-framework/src/ZM/Event/SwooleEvent/OnPipeMessage.php

36 lines
1.2 KiB
PHP
Raw Normal View History

<?php /** @noinspection PhpUnusedParameterInspection */
namespace ZM\Event\SwooleEvent;
2021-06-16 00:17:30 +08:00
use Error;
use Exception;
use Swoole\Server;
use ZM\Annotation\Swoole\SwooleHandler;
2021-06-16 00:17:30 +08:00
use ZM\Console\Console;
use ZM\Event\SwooleEvent;
2021-06-16 00:17:30 +08:00
use ZM\Utils\Manager\ProcessManager;
/**
* Class OnPipeMessage
* @package ZM\Event\SwooleEvent
* @SwooleHandler("PipeMessage")
*/
class OnPipeMessage implements SwooleEvent
{
public function onCall(Server $server, $src_worker_id, $data) {
$data = json_decode($data, true);
2021-06-16 00:17:30 +08:00
try {
ProcessManager::workerAction($src_worker_id, $data);
} catch (Exception $e) {
$error_msg = $e->getMessage() . " at " . $e->getFile() . "(" . $e->getLine() . ")";
Console::error(zm_internal_errcode("E00021") . "Uncaught exception " . get_class($e) . " when calling \"pipeMessage\": " . $error_msg);
Console::trace();
} catch (Error $e) {
$error_msg = $e->getMessage() . " at " . $e->getFile() . "(" . $e->getLine() . ")";
Console::error(zm_internal_errcode("E00021") . "Uncaught " . get_class($e) . " when calling \"pipeMessage\": " . $error_msg);
Console::trace();
}
}
}