我刚刚开始了一个项目,试图让一个非常简单的Django Celery项目开始运行。因为我主要是想看看它是如何工作的,所以这就是我的设置:
BROKER_TRANSPORT = "django"
CELERY_ALWAYS_EAGER = True
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
我已经使用apply_async()
测试了发布任务,并在Django管理网站中安排了这些任务,两者都运行良好。
我目前唯一看到的问题是,我需要运行两个单独的流程来测试我的任务,django runserver
和django celerybeat
。当我更改定期任务时,我需要重新启动celerybeat
进程以使其重新加载。有什么方法可以运行与celerybeat
集成的runserver
流程,以避免记得启动其他流程吗?
答案 0 :(得分:2)
我自己没有使用它,但似乎你应该查看django-supervisor项目。我的理解是它可以配置为自动重新加载与您的网络服务器一起运行的任意数量的并发运行进程的内容。
或者,您可以使用celery 2.5的--autoreload功能。有关详细信息,请参阅the release notes。