作者:iris | 来源:互联网 | 2023-09-02 19:31
我的Symfony2.3项目中有一个类正在执行一些http请求并需要一些时间.我想将此任务作为后台进程运行,以便服务器返回客户端的答案,后台进程继续运行.你知道如何
我的Symfony 2.3项目中有一个类正在执行一些http请求并需要一些时间.
我想将此任务作为后台进程运行,以便服务器返回客户端的答案,后台进程继续运行.
你知道如何在Symfony做到这一点吗?
我找到了Process Component:http://symfony.com/doc/current/components/process.html,但我不确定我是否可以从那里运行一个类方法.
解决方法:
一种简单的方法是使用队列和symfony命令来处理队列,从而将繁重的工作与响应分开.
http://symfony.com/doc/current/components/console/introduction.html
创建一个symfony命令,用于处理添加到队列中的作业,然后将要完成的工作从控制器添加到队列中.该队列可能会实现为作业的数据库表.
这样,您可以向用户返回成功响应,并定期在服务器上运行cron作业以处理您需要的工作.