django-celery 与 django-celery-beat 与 Django 2.2
django-celery vs django-celery-beat with Django 2.2
到目前为止,我们一直在使用 celery
和 django-celery
,但最近我们计划将我们的代码库迁移到 Django==2.2
,看起来 django-celery 不支持 Django ==2.2还没有。
使用 django-celery
我们可以从 django admin 配置周期性任务。可以安全地假设,如果我想要类似的功能,那么除了 Celery
包和 运行 celerybeat 实例之外,我将不得不安装 django-celery-beat
包而不是 django-celery
- 没有做大量代码更改?
django-celery
可以去掉。我用过它,但芹菜没有它也能正常工作。
看看 https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html
您的任务保持不变。
我使用安装了以下软件包的定期任务:
celery==4.4.7
kombu==4.6.10
django-celery-beat==1.4.0
INSTALLED_APP
: 添加 'django_celery_beat',
示例:
from celery import shared_task
from django.utils.translation import gettext_lazy as _
from django.core.mail import mail_admins
@shared_task(longname=_("Send mail to administrators"))
def mail_admins_delayed(subject, message):
mail_admins(subject, message)
从你的 django workdir 启动 celery
celery worker --app <djangoprojectname>
celery -A <djangoprojectname> beat
到目前为止,我们一直在使用 celery
和 django-celery
,但最近我们计划将我们的代码库迁移到 Django==2.2
,看起来 django-celery 不支持 Django ==2.2还没有。
使用 django-celery
我们可以从 django admin 配置周期性任务。可以安全地假设,如果我想要类似的功能,那么除了 Celery
包和 运行 celerybeat 实例之外,我将不得不安装 django-celery-beat
包而不是 django-celery
- 没有做大量代码更改?
django-celery
可以去掉。我用过它,但芹菜没有它也能正常工作。
看看 https://docs.celeryproject.org/en/stable/django/first-steps-with-django.html
您的任务保持不变。
我使用安装了以下软件包的定期任务:
celery==4.4.7
kombu==4.6.10
django-celery-beat==1.4.0
INSTALLED_APP
: 添加 'django_celery_beat',
示例:
from celery import shared_task
from django.utils.translation import gettext_lazy as _
from django.core.mail import mail_admins
@shared_task(longname=_("Send mail to administrators"))
def mail_admins_delayed(subject, message):
mail_admins(subject, message)
从你的 django workdir 启动 celery
celery worker --app <djangoprojectname>
celery -A <djangoprojectname> beat