Python-celery介绍与快速上手
1.celery介绍:
celery是一个基于Python开发的模块,可以帮助我们在开发过程中,对任务进行分发和处理。

详细介绍取自:Python之celery的简介与使用 - 简书 (jianshu.com)
celery官网:Celery - Distributed Task Queue — Celery 5.2.7 documentation (celeryq.dev)
celery中文网:简介 - Celery 中文手册 (celerycn.io)
2.环境搭建:
安装celery: pip install celery
安装broker:redis或radditMQ
pip install redis / pika
3.运行程序步骤:
一. 启动redis
二.启动worker
进入当前目录(当前是s1.py)
celery -A s1 worker --loglevel=info -P eventlet
celery -A py文件名 worker --loglevel=日志等级(非必要选项)-P eventlet(windows用户需要加上的,否则有可能报错)
注意:在加上-P eventlet之前,得先pip install eventlet
from celery import Celery
from celery.result import AsyncResult
app = Celery('celery_tasks', broker='redis://localhost:6379/0', backend='redis://localhost:6379/1')
"""
参数一: 任务名称(根据自己要求定义)
叁数二:连接 放任务 的队列
参数三:连接 放结果 的队列
默认使用的是 localhost 的 6379 端口中 0 数据库。( Redis 默认有 16 个数据库)
"""
# 函数一但被如此装饰,就意味着此函数将会是一个celery任务
@app.task
def sum(x, y):
return x + y
@app.task
def sub(x, y):
return x - y
####################### 函数调用 ###########################
result = sum.delay(4, 4) # 意味着,将函数与参数,扔到任务队列中
result_id = result.id # 获取任务id
result_object = AsyncResult(id=result_id, app=app)
print(result_object.status) # 打印任务状态
浙公网安备 33010602011771号