我有一个使用RabbitMQ的
PHP项目(Symfony2).我使用它作为简单的消息队列来延迟一些工作(从API发送邮件,重要数据).消费者在网络服务器上运行,他们的代码是网络服务器仓库的一部分 – 它们与网络部署在一起.
问题是:
如何将消费者作为守护进程启动并确保它们始终运行?
在部署应用程序时,如何“优雅地”关闭消费者,以便他们停止消费但完成处理他们开始的消息?
如果它有任何重要意义,我使用Capifony进行部署.
谢谢!
最佳答案 也许值得看一下用python编写的
supervisord.之前我已经使用它来为Gearmand运行工作程序,这是一个作业队列,它完全类似于你使用RabbitMQ的方式.