. */ namespace SP\Core; use SP\Core\Messages\TaskMessage; /** * Class TaskFactory * * @package SP\Core */ class TaskFactory { /** * @var TaskMessage */ public static $Message; /** * @var Task */ private static $Task; /** * Crear una tarea para la actualización de estado de la actualización * * @param $name * @param $id */ public static function createTask($name, $id) { if (self::$Task === null) { self::$Task = new Task($name, $id); self::$Task->register(false); } self::$Message = new TaskMessage(); self::$Message->setTaskId($id); } /** * Finalizar la tarea */ public static function endTask() { if (self::$Task !== null) { self::$Task->end(false); self::$Task = null; } } /** * Enviar un mensaje de actualización a la tarea */ public static function sendTaskMessage() { if (self::$Task !== null) { self::$Task->writeJsonStatusAndFlush(self::$Message); } } }