1、装库
celery==4.4.2
django-celery-beat==2.2.0
django-celery-results==2.0.1
2、添加应用
安装完依赖之后,把上面的两个应用添加到Django配置文件settings.py的INSTALLED_APPS里面:
添加celery配置信息
在项目的配置文件中添加如下配置信息,具体的配置作用见注释
INSTALLED_APPS = [
...
'django_celery_results', # celery结果
'django_celery_beat', # celery定时任务
]
##
# 跟缓存的redis配置类似,使用不同的库就行
CELERY_BROKER_URL = "redis://:密码@127.0.0.1:16379/1"
# 时区跟Django的一致
CELERY_TIMEZONE = 'Asia/Shanghai'
# # 不使用utc,所以在定时任务里面的时间应该比上海时间少8小时,比如要设置本地16:00执行,那么应该在定时里面设置成8:00
# CELERY_ENABLE_UTC = False
# # 应对django在使用mysql的时候设置USE_TZ = False导致的报错
# DJANGO_CELERY_BEAT_TZ_AWARE = False
# 支持数据库django-db和缓存django-cache存储任务状态及结果
CELERY_RESULT_BACKEND = "django-db"
CELERY_CACHE_BACKEND = 'django-cache'
# 将任务调度器设为DatabaseScheduler
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
# celery内容等消息的格式设置,默认json
CELERY_ACCEPT_CO

本文介绍了如何在Django项目中使用Celery实现异步任务和定时任务。首先,需要安装Celery并将其添加到Django的应用列表中。接着,配置Celery以连接Redis作为消息中间件,并设置时区和数据库选项。创建`celery.py`文件,指定配置源和命名空间。此外,还需创建`tasks.py`文件定义自定义任务。完成配置后,通过迁移数据库创建相关表,最后启动Celery以运行任务。

517

被折叠的 条评论
为什么被折叠?



