MOMOJI.故事接龙·让我们一起讲故事,做个有故事的人

前几天学习了python celery,python的分布式任务队列;今天给momoji添加了pyramid_celery模块;

谈几点感受吧:

1.celery传承python清新简洁的风格,对函数定义进行修饰,即完成了队列的publisher的提交定义,同时也完成了任务队列的consumer的任务处理逻辑定义;

例如:

tasks.py

from pyramid_celery import celery_app as app

@app.task

def add(x, y):

    return x+y

以上即定义了任务的publisher的提交形式:名称为add;需要两个参数x和y;又定义了consumer的处理逻辑:计算x与y的和;



2.调用publisher和启动consumer也自然而然的统一起来;

例如:

celery worker -A tasks --pool=solo -l info

此系统命令启动了一个任务的consumer,对应的逻辑定义在tasks.py中;

>>>from tasks import add

>>>r = add.delay(3,4)

>>>r.result

7

此python语句引入了tasks模块中的add,对add进行add.delay(3,4)调用,即完成了对task的publish;



by 飞~甜 @ 2019-07-02 18:25:55
全文模式 复制地址