django中使用celery执行异步任务实现
发布日期:2021-05-15 04:59:00 浏览次数:8 分类:精选文章

本文共 1246 字,大约阅读时间需要 4 分钟。

Celery 在 Django 项目中的配置指南

本文将指导您如何在 Django 项目中配置 Celery 高效处理任务,帮助您构建高性能的后台系统。

前置条件

在进行 Celery 配置前,请确保已完成以下准备工作:

  • 安装并配置 RabbitMQ 或 Redis(若选择使用 Redis,需安装相关 Redis 客户端工具)
  • 技术环境符合要求:Python 3.5 及以上版本
  • 配置说明

    一、安装依赖工具

    根据您的选择,执行相应的安装命令:

    • 安装 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 官方文档精✍微打磨,旨在为开发者提供实用性强、易于理解的配置指导。

    上一篇:区块链初步了解
    下一篇:ubuntu14.04 rabbitmq安装、nginx部署及centos安装

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年04月14日 17时32分22秒