python 链式计算框架_Python-模块和包.深入Celery之子任务及原语组式/链式/回调

子级任务:

说明: 前面学习的任务调用基本上已够用,但有时业务场景可能需要任务关联,且子任务可能需要父任务为其传递一些必要参数,此时可通过func.subtask或简写func.s实现,子任务对象依然可以调用任务对象的API,delay和apply_async,但和常规调用不同的是子任务调用时传递的参数加生成子任务时初始化参数的才是最终任务的参数,所以子任务在调用时就不需要再重复传递子任务初始化时的参数了.

1

2

3

4

5

6

7

>>> mail = send_mail.subtask(('sub','msg'), countdown=1)

>>> mail.delay('limanman')

>>> mail = send_mail.s('sub','msg', countdown=1)

>>> mail.delay('limanman')

注意: send_mail.subtask(('sub', 'msg'), countdown=1)或send_mail.s('sub', 'msg', countdown=1)返回的是Signature对象,此对象携带生成子任务时的参数,且可调用任务对象的API,当调用时,传递的参数被提前.

原语操作:

# 使组式:

1

2

3

>>>from celeryimport group

>>> group(send_mail.s(i, i, i)for iin xran

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值