1

我刚刚开始了一个项目,试图启动一个非常简单的 Django Celery 项目。因为我主要只是想看看它是如何工作的,所以我的设置如下所示:

BROKER_TRANSPORT = "django"
CELERY_ALWAYS_EAGER = True
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"

我已经apply_async()通过在 Django 管理站点中安排它们来测试发布任务,并且两者都工作得很好。

我目前看到的唯一问题是我需要运行两个单独的进程来测试我的任务,django runserver并且django celerybeat. 当我更改周期性任务时,我需要重新启动celerybeat进程以使其重新加载。有什么方法可以让我运行celerybeat集成的进程runserver,以避免必须记住启动另一个进程?

4

1 回答 1

2

我自己没有使用过,但看来您应该查看django-supervisor项目。我的理解是它可以配置为自动重新加载与您的网络服务器一起运行的任意数量的并发运行进程的内容。

或者,您可以使用 celery 2.5 的 --autoreload 功能。发行说明中对此有更多详细信息。

于 2012-06-01T13:38:19.573 回答