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

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

本文详细介绍如何在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 相关产品和应用

全部下载

专题列表