public function handleComplete(\GearmanTask $task) { /** * @var ExecutionDto $taskData */ $taskData = @unserialize($task->data()); try { $this->tasksInspector->checkTaskDataType($taskData); if (!$taskData->isErrorExist()) { $this->tasksInspector->unsetCreatedTask($taskData->getTaskId()); $this->tasksInspector->incrementCorrectlyExecuted(); } else { if ($taskData->isCriticalError()) { $this->logger->critical($taskData->getErrorMessage()); $this->tasksInspector->setExecutedWithError($taskData); $this->tasksInspector->inspect(); die; } else { $this->tasksInspector->setExecutedWithError($taskData); } } } catch (\Exception $e) { $this->logger->error($e->getMessage() . $this->loggerPostfix); } $this->logger->notice("COMPLETE: " . $task->jobHandle() . ", " . serialize($taskData)); return null; }
function taskFail(\GearmanTask $task) { error_log('taskFail: ' . $task->jobHandle()); }
/** * Callback for getting updated status infromation from a worker * * @param GearmanTask $task **/ public function reverse_status($task) { echo "STATUS: " . $task->jobHandle() . " - " . $task->taskNumerator() . "/" . $task->taskDenominator() . "\n"; }
/** * Returns the Gearman job status for any task or all tasks * * // Get the status of all tasks * $statuses = $request * * @param GearmanTask task to return status for (optional) * @return array */ public function status(GearmanTask $task = NULL) { if ($task !== NULL) { return $this->_gearman_client->jobStatus($task->jobHandle()); } else { $status = array(); foreach ($this->_task_handles as $uuid => $task) { $status[$uuid] = $this->_gearman_client->jobStatus($task->jobHandle()); } return $status; } }