【发布时间】:2011-06-15 14:10:29
【问题描述】:
我正在考虑在我的项目中使用 celery。我发现了很多关于如何使用它等的信息。我感兴趣的是如何部署/打包我的解决方案。
我需要运行两个组件 - django app 和 celeryd worker(发送电子邮件的组件)。例如,我希望我的 django 应用程序使用 email_ticket 任务,该任务将通过电子邮件发送支持票。我在 django 应用程序中创建 tasks.py。
@task
def email_ticket(from, message):
...
我是否部署了我的 django 应用程序,然后将 celeryd 作为单独的进程从同一路径运行?
./manage.py celeryd ...
不同服务器上的工作人员呢?部署整个 django 应用程序并只运行 celeryd?我知道我只能为工人使用 celery,但我想使用 celerycam 和 celerybeat。
感谢任何反馈。谢谢
感谢您的任何反馈。
【问题讨论】:
-
好问题。公认的答案(“部署一切”)当然是简单而强大的——但不是最优的。也许有人可以想出一个好方法,只将所需的代码分发给“工人”机器,同时又不会使整个过程过于复杂。