平台项目~celery基础独立
0 编辑py文件celery_task.py
1 from celery import Celery 引入模块 4.0
2 ap =Celery('tasks',broker=CELERY_BROKER,backend=CELERY_BACKEND)
broker 消费队列 可使用redis/rabbitmq方式存储消费队列
backend任务结果队列 可使用redis/rabbitmq方式存储消费队列
rabbitMQ:大而全,更安全,数据处理更快速。redis:使用更方便,开发更快速
3 @app.task(参数) # @app.task 指定将这个函数的执行交给celery异步执行
补充
1 autoretry_for=(Exception,) 当出现异常的时候自动进行尝试 Exception所有异常都需要重试
2 retry_kwargs={'max_retries':Constant.MAX_RETRY,'countdown':Constant.RETRY_INTERVAL}
当出现问题的时候规定的最大尝试次数和每次尝试的间隔时间 def add(x, y): return x + y
4 启动/停止
celery worker -A celery_task.py --concurrency=N --loglevel=info(开启N个并行线程)
ps aux|grep "celery worker"|grep -v grep|awk '{print $2}'|xargs kill -9
5 进行调用加入celery中
method.delay()
6 常用命令
1 celery -A task_entry inspect active 查看正在运行的所有任务
2 celery -A task_entry inspect reserved 等待调度等
3 celery -A task_entry inspect registered 注册成功的任务可以进行验证是否生效
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix