コード例 #1
0
ファイル: TaskWorkerServer.php プロジェクト: szyhf/DIServer
 /**
  * 进程发生错误时导致退出时触发(一般情况下,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}.");
 }
コード例 #2
0
ファイル: SwooleProxy.php プロジェクト: szyhf/DIServer
 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()}");
     }
 }