Django使用Celery实现异步和定时任务功能

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

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 = 'djang
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值