Есть код:
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;
while (count($this -> allApps) > 0 ){
$app = array_shift($this -> allApps);
$process = new Process(['/usr/bin/php','task.php','GetData',$app['app']]);
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
self :: log ($app);
self :: log ("Accs left: " . count($this -> allApps) . "\n");
}
В один поток из массива $this -> allApps берутся данные, запускается внешний php скрипт, после его выполнения, процедура повторяется, пока массив не будет пустым.
Знаю что Process Component может работать асинхронно.
Скажите, есть возможность запускать по 3-10 воркера(process) внутри while, и по мере освобождения одного из них - давать ему новую задачу из $this -> allApps?
Чтобы вы смогли реализовать данную задачу правильно, вам стоит использовать очереди. Обратите внимание на RMQ и реализацию функционала в Symfony - RabbitMQBundle
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
необходимо при клике выводить массив через Ajax на PHPв моем случае PHP выводит NULL
Есть папки с изображениями, путь к ним таков "sitecom/1/thumbnail
В старых версиях Android Studio был флажок "Backwards Compatibility", в Android Studio 34