celery 简单使用

2020-03-24  本文已影响0人  惊穹

一, 简介

    celery是一个基于分布式消息传输的异步任务队列,它专注于实时处理,同时也支持任务调度。它的执行单元为任务(task),利用多线程,如Eventletgevent等,它们能被并发地执行在单个或多个职程服务器(worker servers)上。任务能异步执行(后台运行)或同步执行(等待任务完成)。

    主要应用场景:

1,web应用,当需要触发事件需要较长时间处理完成,可以交给celery进行异步执行,执行完后返回结果,这段时间不用等待,提高系统的吞吐量和响应时间。

2,完成任务时,需要额外的事件处理,如发送邮件等。

3,后台定时任务处理,celery可以帮助我们在不同服务器进行定时任务管理。

二, 简单的例子

1,安装相关包

celery

 pip install celery

redis

sudo apt install redis-server

启动redis  sudo /etc/init.d/redis-server start

检查redis状态  sudo /etc/init.d/redis-server status

端口检查 ps -ef | grep redis

2, 第一个程序,创建hello_celery.py

from celery import Celery

app = Celery("task", broker="redis://localhost:6379//", backend="redis://localhost")

@app.task

def add(x, y):

    return x + y

3,启动

celery -A hello_celery worker -l info

4, Ipython 执行worker

In [3]: from hello_celeryimport add

In [4]: r = add.delay(1, 7)

In [5]: r.result

Out[5]: 8

上一篇下一篇

猜你喜欢

热点阅读