在Django中放置消息队列使用者的位置?

时间:2009-07-11 01:15:39

标签: python django message-queue rabbitmq amqp

我正在使用Carrot作为Django项目中的消息队列并遵循the tutorial,它运行正常。但是这个例子在控制台中运行,我想知道如何在Django中应用它。我在models.py中从我的一个模型调用的发布者类,所以没关系。但我不知道在哪里放消费类。

因为它只是坐在那里.wait(),我不知道我需要在什么时候或哪里实例化它以便它总是在运行并监听消息!

谢谢!

2 个答案:

答案 0 :(得分:5)

在您从教程中引用的示例中,使用者只是一个长时间运行的脚本。它从队列中弹出一条消息,执行某些操作,然后调用wait并基本上进入休眠状态,直到另一条消息进入。

此脚本可以在您帐户下的控制台上运行,也可以配置为unix守护程序或win32服务。在生产中,您需要确保如果它死了,它可以重新启动等(守护程序或服务在这里更合适)。

或者您可以取出等待通话并在Windows计划程序下运行或作为cron作业运行。因此它每隔n分钟处理一次队列,然后退出。这实际上取决于您的应用程序要求,队列填满的速度等等。

这是否有意义或者我完全错过了你的要求?

答案 1 :(得分:0)

如果您正在处理的是处理任务,请查看芹菜:http://github.com/ask/celery/