一、Celery 安装与应用
关于 Celery 的内容,先依次看如下两篇文章,让你有个了解:
http://blog.csdn.net/happyanger6/article/details/51404837
https://www.liaoxuefeng.com/article/00137760323922531a8582c08814fb09e9930cede45e3cc000
1、安装 Celery 和 Redis
pip install celery # 这里我的 python 版本是 python2.7 ,如果是 2.6 的版本,请使用 pip install celery==3.0 来安装
pip install redis # redis 作为中间人,用于接收和发送消息
2、编写一个 celery 应用程序,用来处理任务
[root@localhost ~]# cat task.py #!/usr/bin/env python #-*- coding: utf8 -*- from celery import Celery
app = Celery("task", broker="redis://127.0.0.1:6379/5", backend="redis://127.0.0.1:6379/6") # 启动一个Celery实例,第一个参数是本模块的名字,第二个参数用于指定中间人的URL,第三个参数用于存储任务的处理结果,5和6表示使用redis的第五和第六个库
@app.task # 添加一个程序,这个程序用来处理用户发过来的任务 def add(x, y): # 定义程序,这里我就定义一个加法运算的程序 return x+y
3、启动 Celery 处理任务
[root@localhost ~]# celery -A task worker --loglevel=info # -A参数用于指定程序,worker表示在后台运行,--loglevel表示运行的日志等级
4、发送任务给 Celery 进行处理
In [1]: from task import add In [2]: add.delay(2, 3) # 相当于执行了add()函数,执行后的结果只能在celery控制台看到 Out[2]: <AsyncResult: 6e5b23d6-f3ba-48ed-8007-d41520830410> In [3]: add.delay(5, 10) Out[3]: <AsyncResult: f5e51094-af6c-447c-ae6e-e07b02ae6983>
二、Celery 多实例