Files
kiri-http-server/Handler/OnPipeMessage.php
T

39 lines
900 B
PHP
Raw Permalink Normal View History

2022-01-09 03:49:02 +08:00
<?php
2022-01-10 11:39:55 +08:00
namespace Kiri\Server\Handler;
2022-01-09 03:49:02 +08:00
2024-12-27 17:59:52 +08:00
use Kiri;
2022-01-10 11:39:55 +08:00
use Kiri\Server\Abstracts\Server;
use Kiri\Server\Contract\OnPipeMessageInterface;
2022-01-09 03:49:02 +08:00
/**
*
*/
class OnPipeMessage extends Server
{
2023-12-12 15:35:34 +08:00
/**
* @param \Swoole\Server $server
* @param int $src_worker_id
* @param mixed $message
* @throws
*/
public function onPipeMessage(\Swoole\Server $server, int $src_worker_id, mixed $message): void
{
2024-12-27 17:59:52 +08:00
try {
if (is_string($message)) {
$message = unserialize($message);
}
if (!is_object($message) || !($message instanceof OnPipeMessageInterface)) {
return;
}
call_user_func([$message, 'process'], $server, $src_worker_id);
} catch (\Throwable $throwable) {
Kiri::getLogger()->error(throwable($throwable));
2023-12-12 15:35:34 +08:00
}
}
2022-01-09 03:49:02 +08:00
}