/** * 进程发生错误时导致退出时触发(一般情况下,Manager会重新拉起一起新进程) * * @param \swoole_server $server 当前进程的swoole_server对象 * @param int $worker_id 故障进程的ID * @param int $worker_pid 故障进程的PID * @param int $exit_code 错误代码 */ public function OnTaskWorkerError(\swoole_server $server, $task_worker_id, $task_worker_pid, $exit_code) { Log::Error("On TaskWorker Error Exit, task_worker_id = {$task_worker_id}, task_worker_pid = {$task_worker_pid}, exit_code={$exit_code}."); }
public function OnTask(\swoole_server $server, $task_id, $from_id, $param) { try { Event::Listen('OnTaskReceived', [&$server, &$task_id, &$from_id, &$param]); //尽量避免TaskWorker直接挂掉。 $this->taskerServer->OnTask($server, $task_id, $from_id, $param); Event::Listen('OnTaskFinished', [&$server, &$task_id, &$from_id, &$param]); } catch (\Exception $taskException) { Log::Error("Catch exception while tasking: {$taskException->getMessage()}"); } }