我有一个从excel导入数据到数据库的函数,我让这个函数在服务器上运行,所以这个函数不需要再与客户端交互,客户端web浏览器只需要将excel文件上传到服务器,之后,任务将在服务器上运行,所以如果浏览器关闭客户端,该功能仍然运行在服务器上,我有这个问题是,当浏览器是只要功能仍然处于活动状态,浏览器将加载。如何让浏览器不要等待服务器响应,以便在服务器上运行该进程时浏览器不会加载。请帮助我。PHP:如何运行与主进程分开的进程
0
A
回答
2
使用message queue可以将文件处理任务从Web服务器卸载到单独运行的另一个守护程序。
0
您可以在命令行中使用进程的廉价且简单的路径exec
,导致它后台运行。但是,这给你很少的控制/状态。
IMO的正确方法是将这些长时间运行的任务排队到数据库中,并将一些状态信息与它们关联起来。然后有一个独立于您的Web服务器运行的专用进程,检查数据库的任务并执行它们,以成功/失败状态更新数据库。
0
考虑使用一个队列,如Mseven的队列插件:
或者,如果你想要一个更基于守护工作,看看Beanstalkd。尽管如此,mseven的队列插件是非常自我解释的。远离使用&分叉进程,它可能会失去控制。
相关问题
- 1. 断开与正在运行的进程
- 2. 运行主进程为child_process
- 3. 如何从PHP运行进程
- 4. 运行php-cgi进程
- 5. 如何在PHP和Shell中返回后运行主进程
- 6. 如何运行进程?
- 7. 电子 - 主进程与渲染进程
- 8. Qt进程如何与正常的Linux进程进行通信?
- 9. 如何将pid从一个PHP进程与另一个进程进行通信?
- 10. 从主进程执行多个进程
- 11. 如何在结束Android主进程后让进程永远运行
- 12. 如何对进程中的信号进行顺序分配如何运行
- 13. 硒离开正在运行的进程?
- 14. 商业PHP脚本,长时间运行的进程。守护进程与cronjobs?
- 15. 如何让Python进程以正确的进程名称运行?
- 16. Python:在Windows主机中运行进程
- 17. Nginx运行时没有主进程
- 18. 在主Web进程中运行delayed_job
- 19. 确保nginx主进程保持运行
- 20. 如何与分叉后台进程进行通信/接口?
- 21. 如何从远程主机访问主机上泊坞窗运行的进程
- 22. 运行PHP的exec()异步/多进程
- 23. 运行PHP进程的当前活动
- 24. 运行多进程
- 25. 与fork并行运行子进程
- 26. 如何区分一个子进程与其他子进程
- 27. 如何以64位进程运行IIS进程(w3wp.exe)
- 28. 如何确定一个进程是由进程名运行
- 29. Docker - 如何将mongodb进程作为守护进程运行
- 30. 如何同时运行子进程和父进程
感谢您的回复,您可以给我一些教程或示例如何使用此消息队列? – user1290932 2012-04-02 07:52:14