Запуск одновременных одноразовых динамов Heroku из PHP - PullRequest
0 голосов
/ 07 сентября 2018

Я запускаю (отдельный) PHP-скрипт из командной строки, который сам использует shell_exec() для запуска других PHP-скриптов. Я ожидал, что каждый из этих сценариев будет запущен почти сразу, но вместо этого он ожидает завершения одного из них, прежде чем код перейдет к следующему.

Это по сути то, что я бегу. Как я могу позволить моему сценарию продолжать цикл foreach, не дожидаясь завершения каждого shell_exec()?

foreach ($rows as $row) {
    $output = shell_exec("php path/to/file.php $estab_code") ;
}

Действительно, мой ожидаемый результат здесь заключается в том, что каждый shell_exec() должен запускать новую одноразовую динаму Heroku, которая запускается одновременно. Однако этого, похоже, не происходит: кажется, что исполняемый скрипт выполняется из исходного dyno.

Есть идеи?

1 Ответ

0 голосов
/ 12 сентября 2018

shell_exec ждет, пока команда вернет что-то. Для того, чтобы что-то произошло немедленно и было пустым, вы можете прикрепить к каждой команде следующее:

> /dev/null 2>/dev/null &

Примерно так:

foreach ($rows as $row) {
    $output = shell_exec("php path/to/file.php $estab_code > /dev/null 2>/dev/null &");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...