Ejemplo n.º 1
0
 /**
  * Add task
  *
  * @param Task $task
  * @return $this
  */
 public function addTask(Task $task)
 {
     $queuedTask = new QueuedTask($task);
     if ($this->firstTask === null) {
         $this->firstTask = $queuedTask;
     }
     if ($this->lastTask === null) {
         $this->lastTask = $queuedTask;
     } else {
         $this->lastTask->setNext($queuedTask);
         $this->lastTask = $queuedTask;
     }
     $this->queueSize++;
     if ($this->status === self::STATUS_RUNNING || $this->autoRun === true) {
         $this->status = self::STATUS_RUNNING;
         $this->fillAndStartProcessing();
     }
     return $this;
 }