完了するのに数分かかるsymfonyコンマがあります。そして、httpリクエストで実行したいと思います。問題は、サーバーが応答を送信した直後にコマンドプロセスを強制終了し、タイムアウトが発生することです。
symfonyプロセスを非同期で使用しようとしましたが、それでも機能しません(常にタイムアウトの問題が発生します)。
kernel.terminateイベントはベストプラクティスではないため、使用したくありません。これが私のコントローラーのコードです:
$commandProcess=new Process('php bin/console app:doSomeThing');
$commandProcess->setWorkingDirectory('./../');
$commandProcess->start();
$commandProcess->setTimeout(50000000);
どんな回答でも大歓迎です。
プロセス出力をdesibaleし、コマンドの後に「&」を追加する必要がありました。答えは次のとおりです。
new Process('php bin/console app:dosomthing &');
$commandProcess=new Process('php bin/console app:dosomthing &');
$commandProcess->setWorkingDirectory('./../');
$commandProcess->disableOutput();
$commandProcess->setTimeout(1800);
$commandProcess->start();
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加