到目前为止,我们一直在使用celery和django-celery,但最近我们计划将我们的代码库迁移到Django==2.2,而且看起来django-celery还不支持Django==2.2。
使用django-celery,我们可以在django admin中配置定期任务。是否可以假定,如果我想要类似的功能,那么除了Celery包和运行celerybeat实例之外,我必须安装django-celery-beat包而不是django-celery -而不需要进行大量的代码更改?
发布于 2020-12-24 18:48:18
可以删除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.0INSTALLED_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工作目录启动celery
celery worker --app <djangoprojectname>
celery -A <djangoprojectname> beathttps://stackoverflow.com/questions/65436484
复制相似问题