【celery】【2】多任务celery调度&定时任务执行

1. 多任务

在这里插入图片描述
celery.py

from celery import Celery

cel = Celery('celery_demos',
             broker='redis://127.0.0.1:6379/1'
             ,backend='redis://127.0.0.1:6379/2'
             ,include=['celery_tasks.task01','celery_tasks.task02']) #把所有异步任务对应的模块放在列表中

# 时区
cel.conf.timezone = 'Asia/Shanghai'

# 是否UTC
cel.conf.enable_utc = False

这里-A是在根目录下程序package的名字

celery -A celery_tasks worker -l info -P eventlet  -c 10

2. 定时任务

在生产者调用celery实例时不用delay方法而是 apply_async方法

2.1 固定时间

v1 = datetime(2022,4,21,7,57,20)
print(v1)
v2 =datetime.utcfromtimestamp(v1.timestamp())
print(v2)
result = send_mail.apply_async(args=['time',],eta=v2)
print(result.id)

同时产生id
在这里插入图片描述
定时任务20s才开始
在这里插入图片描述

2.2 相对时间

当前时间延迟10s执行

ctime = datetime.now()
utc_time =datetime.utcfromtimestamp(ctime.timestamp())
time_delay = timedelta(seconds=10)
task_time = utc_time+time_delay
result = send_mail.apply_async(args=['相对时间',],eta=task_time)
print(result.id)

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值