isGarbage() public method

public isGarbage ( ) : boolean
return boolean
 public function submitTask(AsyncTask $task)
 {
     if ($task->isGarbage()) {
         return;
     }
     $this->tasks[$task->getTaskId()] = $task;
     $this->pool->submit($task);
 }
Example #2
0
 private function removeTask(AsyncTask $task, $force = false)
 {
     if (isset($this->taskWorkers[$task->getTaskId()])) {
         if (!$force and ($task->isRunning() or !$task->isGarbage())) {
             return;
         }
         $this->workerUsage[$this->taskWorkers[$task->getTaskId()]]--;
     }
     unset($this->tasks[$task->getTaskId()]);
     unset($this->taskWorkers[$task->getTaskId()]);
     $task->cleanObject();
 }
Example #3
0
 public function submitTask(AsyncTask $task)
 {
     if (isset($this->tasks[$task->getTaskId()]) or $task->isGarbage()) {
         return;
     }
     $this->tasks[$task->getTaskId()] = $task;
     $selectedWorker = mt_rand(0, $this->size - 1);
     $selectedTasks = $this->workerUsage[$selectedWorker];
     for ($i = 0; $i < $this->size; ++$i) {
         if ($this->workerUsage[$i] < $selectedTasks) {
             $selectedWorker = $i;
             $selectedTasks = $this->workerUsage[$i];
         }
     }
     $this->workers[$selectedWorker]->stack($task);
     $this->workerUsage[$selectedWorker]++;
     $this->taskWorkers[$task->getTaskId()] = $selectedWorker;
 }
Example #4
0
 public function collectAsyncTask(AsyncTask $task)
 {
     if ($task->isFinished() and !$task->isGarbage()) {
         --$this->asyncTasks;
         $task->onCompletion(Server::getInstance());
         $task->setGarbage();
         unset($this->asyncTaskStorage[$task->getTaskId()]);
     }
     return $task->isGarbage();
 }