Deployer\Executor\ParallelExecutor::sendTasks PHP Метод

sendTasks() публичный Метод

Also decide when to stop server/loop.
public sendTasks ( )
    public function sendTasks()
    {
        if (!$this->wait) {
            if (count($this->tasks) > 0) {
                // Get task name to do.
                $task = current($this->tasks);
                $taskName = $task->getName();
                array_shift($this->tasks);
                $this->informer->startTask($taskName);
                if ($task->isOnce()) {
                    $task->run(new Context($this->localhost, $this->localEnv, $this->input, $this->output));
                    $this->informer->endTask();
                } else {
                    $this->tasksToDo = [];
                    foreach ($this->servers as $serverName => $server) {
                        if ($task->isOnServer($serverName)) {
                            if (!isset($this->environments[$serverName])) {
                                $this->environments[$serverName] = new Environment();
                            }
                            // Start task on $serverName.
                            $this->tasksToDo[$serverName] = $taskName;
                        }
                    }
                    // Inform all workers what tasks they need to do.
                    $taskToDoStorage = new ArrayStorage();
                    $taskToDoStorage->push($this->tasksToDo);
                    $this->pure->setStorage('tasks_to_do', $taskToDoStorage);
                    $this->wait = true;
                }
            } else {
                $this->loop->stop();
            }
        }
    }