ServerScheduler::scheduleAsyncTask() returns the worker used (#1312)

This commit is contained in:
SOFe
2017-08-29 17:29:24 +08:00
committed by Dylan K. Taylor
parent 7475aa3a18
commit 9902d29734
2 changed files with 7 additions and 5 deletions

View File

@ -92,9 +92,9 @@ class AsyncPool{
$this->taskWorkers[$task->getTaskId()] = $worker;
}
public function submitTask(AsyncTask $task){
public function submitTask(AsyncTask $task) : int{
if(isset($this->tasks[$task->getTaskId()]) or $task->isGarbage()){
return;
return -1;
}
$selectedWorker = mt_rand(0, $this->size - 1);
@ -107,6 +107,7 @@ class AsyncPool{
}
$this->submitTaskToWorker($task, $selectedWorker);
return $selectedWorker;
}
private function removeTask(AsyncTask $task, bool $force = false){