django+celery+docker搭建记录(3)- 使用django定时执行celery任务

官方文档:http://docs.celeryproject.org/en/latest/userguide/periodic-tasks.html#beat-custom-schedulers

1. 准备

使用pip安装django-celery-beat库

pip install django-celery-beat

django项目的settings.py中添加django_celery_beat到INSTALLED_APPS

INSTALLED_APPS = [
    ...,
    'django_celery_beat',
]

创建表

python manage.py migrate

启动Celery beat服务

celery -A proj beat -l info --scheduler django_celery_beat.schedulers:DatabaseScheduler

访问Django 后台设置定时任务

需要先创建Django用户,输入命令并根据提示创建

python manage.py createsuperuser


2. 使用

访问admin页面 http://yourip:8888/admin/得到如下界面


登录后


定时任务相关的内容在PERIODIC TASKS部分

其中Periodic tasks为任务设置,Crontabs,Intervals,Solar events均为调度时间的设置,与任务无关,任务设置时需要使用。

Crontabs:跟linux系统的crontab一样(分,时,月,年,周几)

Intervals:周期性(每多少 [ 日 | 时 | 分 | 秒 | 毫秒 ])

Solar events:跟太阳活动相关,不常用,通过设置经纬度和太阳活动(日出日落等)来触发

每项都可以通过点击+Add或点击进入列表中添加,也可以在设置任务时直接添加。

添加一项任务

点击Periodic tasks的+Add,出现如下界面


输入定时任务名字,点击下拉列表即能看到之前的add任务


调度方式可选其中一种,这里设置每30秒执行一次,选择Interval后的+添加调度时间,设置为每30秒保存


设置参数,点击Arguments显示参数设置,依旧设置参数为(2, 5)


保存,定时任务添加完成

worker窗口和beat窗口可看到每30秒执行一次任务



删除定时任务

选中任务后可选择删除或者禁止任务




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值