public function submitTaskToWorker(AsyncTask $task, $worker)
{
if ($task->isGarbage()) {
return;
}
$worker = (int) $worker;
if ($worker < 0 or $worker >= $this->size) {
throw new \InvalidArgumentException("Invalid worker {$worker}");
}
$this->tasks[$task->getTaskId()] = $task;
$this->pool->submitTo((int) $worker, $task);
}