celery介绍
Celery - 分布式任务队列. Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。
它是一个专注于实时处理的任务队列,同时也支持任务调度.
Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度.
安装celery
创建虚拟环境
mkvirtualenv celeryenv
使用pip安装
pip install celery
使用celery
创建python工程, 然后新建tasks.py文件, 写入以下代码
from celery import Celery
# 创建celery对象,设置任务队列使用redis
app = Celery('tasks', broker='redis://localhost:6379')
# 创建任务
@app.task
def add(a, b):
time.sleep(5)
n = a + b
print(n)
return n
if __name__ == '__main__':
# add(10, 5)
# 调用任务
add.delay(10, 5)
print('程序执行结束')
启动celery服务
celery -A tasks worker --loglevel=info
redis操作:
安装redis
pip install redis
启动redis服务
redis-server
Flask中使用celery
在之前创建的虚拟环境celeryenv中安装flask
安装flask
pip install flask
创建FlaskProject.py文件,并写入以下代码
from flask import Flask
from tasks import send_email
app = Flask(__name__)
@app.route('/')
def index():
send_email.delay('111@qq.com')
return "激活邮件已发送, 请注意查收"
if __name__ == '__main__':
app.run()
在之前的tasks.py文件, 添加以下代码
@app.task
def send_email(receive_addr):
time.sleep(7)
print(receive_addr)
Django中使用celery
安装celery
pip install celery
安装redis
pip install redis
安装sqlalchemy
pip install sqlalchemy
启动celery服务
celery -A proj worker -l info
注意: proj是工程名称
网友评论