
django中使用celery执行异步任务实现
安装并配置 RabbitMQ 或 Redis(若选择使用 Redis,需安装相关 Redis 客户端工具) 技术环境符合要求:Python 3.5 及以上版本
发布日期:2021-05-15 04:59:00
浏览次数:8
分类:精选文章
本文共 1246 字,大约阅读时间需要 4 分钟。
Celery 在 Django 项目中的配置指南
本文将指导您如何在 Django 项目中配置 Celery 高效处理任务,帮助您构建高性能的后台系统。
前置条件
在进行 Celery 配置前,请确保已完成以下准备工作:
配置说明
一、安装依赖工具
根据您的选择,执行相应的安装命令:
安装 RabbitMQ:
apt-get install rabbitmq-serverservice rabbitmq-server restart
安装 Redis:
apt-get install redisservice redis_6379 restart
二、配置 Django 项目
进入您的 Django 项目目录,修改 settings.py
文件:
CELERY_BROKER_URL = 'rabbitmq://' # 或 'redis://localhost:6379/3'(取决于您选择的存储后台)CELERY_RESULT_BACKEND = 'amqp://'BROKER_INSTANCE = 1CELERY_QUEUE_NAME = 'tasks'CELERY_MAX TASKS = 4CELERYδεςWorkers = (tasks_Worker.my_task, max_concurrent=1)
请根据自身需求调整队列名称和初始任务数,确保与您的任务处理逻辑相匹配。
三、启动服务
1. 启动 Django 服务器
在项目根目录执行:
python3 manage.py runserver 0.0.0.0:8000
这样可以让您的应用存活于生产环境,这样可以方便地测试 Celery配置。
2. 启动 Celery worker
进入终端执行:
celery -A pc_web_verify worker -l info
这里 -A
是 --always_recast
,保证 Celery 在 Python 3 以下版本也能正常运行。使用 --l info
输出日志级别不过于密集,便于观察运行情况。
四、验证配置
登录 Django 项目后端界面,确认任务是否能顺利提交至 Celery 远程工作者。
常见问题解答
Q:为什么 Celery worker 不断崩溃?A:这可能是由于 RabbitMQ 地址或协议配置不正确,建议检查 CELERY_BROKER_URL
是否正确。
Q:为什么 Redis 不存数据?A:请确认 Redis 服务是否正常运行,是否可用 redis-cli
连接到 Redis 服务。
高级配置
如需要优化性能,可参考Celery官方文档,根据项目需求调整各项参数。
本文内容基于 Celery 官方文档精✍微打磨,旨在为开发者提供实用性强、易于理解的配置指导。
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月14日 17时32分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java 回调机制
2019-03-11
7、回归和特征选择
2019-03-11
pycharm使用(新建工程、字体修改、调试)
2019-03-11
什么是Numpy、Numpy教程
2019-03-11
Python学习笔记——元组
2019-03-11
异常声音检测
2019-03-11
numpy版本问题
2019-03-11
无法打开文件“opencv_world330d.lib”的解决办法
2019-03-11
maven项目通过Eclipse上传到svn上面,再导入到本地出现指定的类找不到的问题
2019-03-11
maven 项目部署到tomcat下 没有class文件
2019-03-11
算法训练 未名湖边的烦恼(递归,递推)
2019-03-11
算法训练 完数(循环,数学知识)
2019-03-11
什么是接口
2019-03-11
2020版nodejs12.18.3安装配置教程
2019-03-11
iview组件库中,Form组件里的Input,无法正确绑定on-enter事件
2019-03-11
记录-基于springboot+vue.js实现的超大文件分片极速上传及流式下载
2019-03-11
JavaScript高级程序设计第四版学习记录-第九章代理与反射
2019-03-11