【问题标题】:Calling a console command from a controller using the Process component in Symfony2使用 Symfony2 中的 Process 组件从控制器调用控制台命令
【发布时间】:2015-05-06 16:20:44
【问题描述】:

我正在尝试使用 Symfony2 中的 Process 组件从控制器调用控制台命令,使其在后台运行,但它所做的只是挂起并最终显示为白屏。这是一个失败的例子:

$process = new Process('php app/console list');
$process->setWorkingDirectory($this->get('kernel')->getRootDir().'/../');
$process->run();
print $process->getOutput();

我尝试将 $process->run() 与 $process->start() 互换,但它仍然不起作用。

【问题讨论】:

标签: symfony


【解决方案1】:

Checkout AsyncServiceCallBundle,它允许您在后台执行应用程序服务的方法,而无需等到它们完成。像这样使用它:

$this->get('krlove.async')->call('service_id', 'method', [$arg1, $arg2, $arg3]);

它使用this 方法使此类调用异步。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 2016-01-29
    • 2011-12-06
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多