2021-03-29 15:34:24 +08:00
|
|
|
<?php /** @noinspection PhpUnusedParameterInspection */
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace ZM\Event\SwooleEvent;
|
|
|
|
|
|
|
|
|
|
|
2021-06-16 00:17:30 +08:00
|
|
|
use Error;
|
|
|
|
|
use Exception;
|
2021-03-29 15:34:24 +08:00
|
|
|
use Swoole\Server;
|
|
|
|
|
use ZM\Annotation\Swoole\SwooleHandler;
|
2021-06-16 00:17:30 +08:00
|
|
|
use ZM\Console\Console;
|
2021-03-29 15:34:24 +08:00
|
|
|
use ZM\Event\SwooleEvent;
|
2021-06-16 00:17:30 +08:00
|
|
|
use ZM\Utils\Manager\ProcessManager;
|
2021-03-29 15:34:24 +08:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 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();
|
|
|
|
|
}
|
2021-03-29 15:34:24 +08:00
|
|
|
}
|
|
|
|
|
}
|