3

この機能は、連絡先をインポートします。バックグラウンドで連絡先をマージするプロセスを 1 つ起動したいと思います。Process クラスを使用しています。ただし、リクエストがクライアントにレスポンスを返すときにプロセスも強制終了するため、正常に機能していません。http リクエストが終了した後、プロセスを維持するにはどうすればよいですか?

注: localhost では正常に動作しますが、オンライン リモート サーバーでは動作しません。多分原因は php.ini です

use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;

public function importAction(Request $request)
{
    // .....

    //We start the first fusion process
    try {
        $process = new Process('php ' . $this->get('kernel')->getRootDir() . '/console fusion:contact:one_user ' . $user->getId());
        $process->setTimeout(500);
        $process->start();
    } catch (\Exception $e) {
        throw new \Exception($e);
    }

    return ["error" => "0", "message" => "Importation successfully"];
}
4

0 に答える 0