Process コンポーネントを使用して Symfony2 でバックグラウンド プロセスを作成し、次のようにバックグラウンドで実行したいと考えています。
$process = new Process('php myfile.php --option1 --option2');
$process->start();
ここで実行したいスクリプトは無期限に (while (true)
またはそのようなもので) 実行され、コンソール コマンドまたはコントローラーから強制終了できるはずです。
問題は、作成されたものとは異なるコンテキストから Symfony のそのようなプロセスに (たとえばコントローラーから) アクセスするにはどうすればよいかということです。つまり、元のProcess
インスタンスなしで? ルートへのリクエストcreate_process
がプロセスを開始し、リクエストがkill_process
それを強制終了するとします。それは可能ですか?
私が考えることができる 1 つの方法は、プロセス オブジェクトをシリアル化してデータベースに格納することですが、このソリューションには多くの問題があるようです。