Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2-启动Symfony2命令的进程_Php_Symfony_Asynchronous_Process_Symfony Process - Fatal编程技术网

Php Symfony2-启动Symfony2命令的进程

Php Symfony2-启动Symfony2命令的进程,php,symfony,asynchronous,process,symfony-process,Php,Symfony,Asynchronous,Process,Symfony Process,我的目标是在后台启动一些耗时的函数,以避免用户在呈现服务器响应之前等待 我有一个Symfony项目,我从一个控制器启动一个异步进程。此过程将启动一个Symfony命令,该命令将调用另一个控制器 问题是当我使用start() 然后这个过程什么也没发生,只是重定向和我后面的一些代码起作用了 然而,如果我这样做 $process->run(); 然后,该过程工作正常,但我需要等到该过程完成后才能渲染视图 知道我做错了什么吗?我们使用Gearman作业服务器进行异步处理- 有一些捆绑包简化了Ge

我的目标是在后台启动一些耗时的函数,以避免用户在呈现服务器响应之前等待

我有一个Symfony项目,我从一个控制器启动一个异步进程。此过程将启动一个Symfony命令,该命令将调用另一个控制器

问题是当我使用
start()

然后这个过程什么也没发生,只是重定向和我后面的一些代码起作用了

然而,如果我这样做

$process->run();
然后,该过程工作正常,但我需要等到该过程完成后才能渲染视图


知道我做错了什么吗?

我们使用Gearman作业服务器进行异步处理-


有一些捆绑包简化了Gearman在Symfony项目中的使用。我们使用mmoreram/GearmanBundle-。基本上,您可以创建worker,它可以是一个服务,并为耗时的任务调用它。我们将其用于需要很长时间的数据导入。

我使用创建新流程对象的exec instaed找到了解决此问题的方法

exec('/usr/bin/php '.$this->get('kernel')->getRootDir().'/console scopusftpupload ' . escapeshellcmd($params) . ' > /dev/null 2>&1 &');

谢谢@dmnptr,这可能有用,但对于我需要的用法来说有点复杂。我发现了一个使用exec的解决方法,将发布答案。然而,这应该得到+1:)
exec('/usr/bin/php '.$this->get('kernel')->getRootDir().'/console scopusftpupload ' . escapeshellcmd($params) . ' > /dev/null 2>&1 &');