2

我决定我需要使用异步队列系统。我正在设置 Redis/RQ/django-rq。我想知道如何在我的项目中开始工作。

django-rq 提供了一个很棒的管理命令,它看起来像:

python manage.py rqworker high default low

但是当你启动 django 实例时是否可以启动 worker?只是想知道还是我总是必须手动启动?

谢谢。

4

2 回答 2

1

Django 在请求-响应循环中运行,它从请求开始。所以将这样的命令附加到 Django 启动是个坏主意。
相反,我建议您查看supervisord - 一个流程管理器,它可以在系统启动和其他事情时自动启动服务。

于 2014-03-28T16:49:15.633 回答
0

当我在 Heroku 中托管 Django 项目时。Heroku 提供了一个 Procfile,你可以指定从哪个项目开始。这是我的 Procfile:

web: gunicorn RestApi.wsgi
worker: python manage.py rqworker default
于 2014-04-04T07:29:14.257 回答