从Codeigniter开始Gearman工作人员
问题描述:
我一直在使用codeigniter开发一个php mvc web应用程序,需要处理一些长时间运行的任务。从Codeigniter开始Gearman工作人员
我检查了几个选项(RabbitMQ,Gearman,IronMQ等),并决定使用它的简单性的Gearman。我查阅了gearman.org上的示例和教程,其中显示了如何使用worker.php启动GearmanWorker
。
我担心的是,在mvc架构中,这个GearmanWorker
是启动并启动的?
- 是否通过控制器的方法启动或
- 我们是否需要启动
GearmanWorker
从CLI(控制台)?如果它是从CLI开始那么当我们做一个GearmanClient->do('some task')
一个similar question,但不够明确,我
答
我不建议再启动工作如何处理,如果已经启动的工人已停止出于某种原因来自控制器。您可以启动几名通过网络分发的工作人员,并使用workers
text command作为监控目的。 gearmand
向下一个空闲工作者派遣工作。
也许SUBMIT_JOB_BG是一个很好的选择,可以避免Web服务器超时,如果作业执行时间很长。
谢谢。看起来像这个演示文稿https://www.slideshare.net/mobile/giberti/gearman-and-codeigniter会给出一些清晰的想法。 – Rifky
很好的演示文稿。感谢分享。但考虑到它有点过时了。我会建议你使用[github](https://github.com/gearman/gearmand)的最新版本, – palik