我有一个使用RabbitMQ的PHP项目(Symfony2)。我使用它的简单消息队列来延迟一些作业(发送邮件、来自API的重要数据)。消费者在web服务器上运行,他们的代码是web服务器存储库的一部分-它们与web部署在相同的位置。
问题是:如何将使用者作为守护进程启动,并确保它们始终运行?在部署应用程序时,我如何“优雅地”关闭消费者,以便他们停止消费,但完成对他们开始的消息的处理?
如果很重要的话,我会使用Capifony进行部署。
谢谢!
发布于 2011-12-21 02:00:32
也许值得看看用python编写的supervisord。我以前用过它来运行Gearmand的工作进程,这是一个任务队列,它的作用类似于你使用RabbitMQ的方式。
https://stackoverflow.com/questions/8576723
复制相似问题