通过admin配置定时任务

通过admin配置定时任务.jpg

通过admin配置定时任务

安装包

pip install django-celery-beat
# 使用这个的前提是你已经安装了其他包了
pip install Django
pip install celery
pip install redis
pip install eventlet

去app中注册

INSTALLED_APPS = [
	# 其他包
    "django_celery_beat",
]

屏蔽掉原来的调度器

CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers.DatabaseScheduler'

设置时区

参考文章

https://blog.csdn.net/qq_41341757/article/details/109319850

https://www.jianshu.com/p/39fa4ac3a236
注意:周期性任务内的开始时间不需要设置。

# 方案1
LANGUAGE_CODE = "zh-hans"
TIME_ZONE = "Asia/Shanghai"
USE_I18N = True
USE_TZ = True  

# django中推荐使用USE_TZ = True,让数据库存储0时区时间
# USE_TZ = True,和 TIME_ZONE = ‘Asia/Shanghai’ # 亚洲上海必须设置。

# -------------------------------------------------------------------
# 方案2
LANGUAGE_CODE = "zh-hans"

TIME_ZONE = "Asia/Shanghai"

USE_I18N = True

USE_TZ = False

CELERY_DJANGO_CELERY_BEAT_TZ_AWARE = False

# 方案2说明
# 1 SETTINGS USE_TZ=FALSE时添加该选项,否启动 DJANGO CELERY BEAT 的时候会出现这个错误
	# TYPEERROR: CAN'T COMPARE OFFSET-NAIVE AND OFFSET-AWARE DATETIMES
# 2 时间需要手动减去8个小时

迁移数据库

python manage.py migrate django_celery_beat  # 写上app名称单独迁移某一个数据库

# 这一步操作之后,可以进入admin后台查看到 周期性任务

在控制台启动worker和beat

celery -A luffy_api.celery1 worker -l debug -P eventlet
celery -A luffy_api.celery1 beat -l debug

在django-admin后台设置任务即可

需要注意:周期性任务里面的开始时间和结束时间不需要勾选,不然会报错。

本文作者:小满三岁啦

本文链接:https://www.cnblogs.com/ccsvip/p/18220858

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   小满三岁啦  阅读(51)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
🔑
  1. 1 夜空中最亮的星 小果酱
夜空中最亮的星 - 小果酱
00:00 / 00:00
An audio error has occurred.