Как запустить фоновый процесс в Symfony - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть запятая Symfony, которую нужно завершить за несколько минут. И я хочу запустить его по запросу http. Проблема в том, что сервер убивает командный процесс сразу после отправки ответа, у него есть таймаут.

Я пытался использовать процесс Symfony асинхронно, но все еще не работал (у меня всегда проблема с тайм-аутом).

Я не хочу использовать событие kernel.terminate, так как это не лучшая практика. Вот код в моем контроллере:

            $commandProcess=new Process('php  bin/console app:doSomeThing');
            $commandProcess->setWorkingDirectory('./../');
            $commandProcess->start();
            $commandProcess->setTimeout(50000000);

Любой ответ будет высоко оценен.

1 Ответ

0 голосов
/ 26 апреля 2018

Мне пришлось удалить процесс и добавить после команды '&' Вот ответ:

     new Process('php  bin/console app:dosomthing &');

    $commandProcess=new Process('php  bin/console app:dosomthing &');
    $commandProcess->setWorkingDirectory('./../');
    $commandProcess->disableOutput();
    $commandProcess->setTimeout(1800);
    $commandProcess->start();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...