我试图使用Symfony2中的Process组件从控制器调用控制台命令让它在后台运行,但它所做的只是挂起并以白屏结束。这是失败的一个例子:
$process = new Process('php app/console list');
$process->setWorkingDirectory($this->get('kernel')->getRootDir().'/../');
$process->run();
print $process->getOutput();
我尝试将$ process-> run()与$ process-> start()进行交换,但仍然无法正常工作。
答案 0 :(得分:0)
Checkout AsyncServiceCallBundle,它允许您在后台执行应用程序服务的方法,而不必等到它们完成。只需使用它:
$this->get('krlove.async')->call('service_id', 'method', [$arg1, $arg2, $arg3]);
它使用this方法使这些调用异步。