Celery多任务结构
视图结构
pro_cel ├── celery_task# celery相关文件夹 │ ├── celery.py # celery连接和配置相关文件,必须叫这个名字 │ └── tasks1.py # 所有任务函数,如用户相关 │ └── tasks2.py # 所有任务函数,如订单相关 ├── check_result.py # 检查结果 └── send_task.py # 触发任务
celery.py 配置信息
# 必须叫celery,生成celery对象 from celery import Celery # 下面是配置信息,这里使用redis为列 # 处理结果 backend = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/7' # 中间人 broker = 'redis://:lmdxxxx@139.xxx.xxx.42:6380/8' APP = Celery('test', broker=broker, backend=backend, # 包含一下俩个任务文件,去相应的py文件中找任务,对多个任务做分类 include=[ 'celery_task.order_task', 'celery_task.user_task', ])
celery配置中 include是多任务的时候celery会自己去里面找任务去执行
order_task.py 订单相关的任务
# 订单相关 from celery_task.celery import APP @APP.task def order_add(x, y): import time time.sleep(1) return '订单相关的:%s' % (x + y)
user_task.py 用户相关的任务
# 用户相关 from celery_task.celery import APP @APP.task def user_add(x, y): import time time.sleep(2) return '用户相关的:%s' % (x + y)
add_task.py 提交任务
from celery_task.order_task import order_add from celery_task.user_task import user_add order = order_add.delay(5, 6) user = user_add.delay(10, 0) print(order) print(user)
启动worker
linux命令:celery worker -A celery_task -l info
win命令:celery worker -A celery_task -l info -P eventlet
多任务直接启动 celery_task 这个包就行了,因为里面必须固定写celery
注:celery_task是自己创建包的那个名字
获取结果同上一篇文章
宁可清贫自乐,不可浊富多忧
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· “你见过凌晨四点的洛杉矶吗?”--《我们为什么要睡觉》
· 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
· C# 从零开始使用Layui.Wpf库开发WPF客户端
· C#/.NET/.NET Core技术前沿周刊 | 第 31 期(2025年3.17-3.23)
· 接口重试的7种常用方案!