Django集成Celery与Redis执行异步任务的完整指南

苏见山
苏见山
发布时间:2026-10-13| 5人浏览过
原创

本文详细介绍如何在Django项目中集成Celery和Redis以执行异步任务。内容涵盖环境安装、Celery实例配置、任务函数定义、任务调用触发以及Worker启动步骤,通过具体代码示例演示从定义到执行的全过程,帮助开发者实现后台任务的异步处理。

Django异步任务处理概述

本节介绍Celery在Django中的基础应用场景。

环境安装与配置

首先需要完成Celery库及Redis消息代理的安装配置。

Celery任务定义

接下来需要定义具体的Celery异步任务函数。

在项目目录中创建名为tasks.py的文件用于存放任务定义。

tasks.py代码实现


from celery import Celery

# 创建一个Celery类的实例对象
app = Celery('celery_task.tasks', broker='redis://127.0.0.1:6379/8')

# 定义任务函数
@app.task
def send_register_active_email(message):
  with open("D:\\celery\\text.txt", 'a') as f:
    f.write("To perform a task..." + message)

任务调用与触发

编写代码以调用并触发已定义的任务。

创建名为run.py的主程序文件用于触发任务执行。

run.py触发代码


from celery_tasks.tasks import send_register_active_email

def register():
  send_register_active_email.delay("test1\n")

if __name__ == "__main__":
  register()

启动Celery Worker

在项目根目录下启动Celery Worker进程。

执行命令:celery -A tasks worker -l info

随后运行run.py脚本以提交任务。

观察日志输出,确认任务已被接收并成功执行。

总结

以上内容涵盖了Django结合Celery与Redis处理异步任务的核心知识点,感谢阅读与支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。