Django集成Celery与Redis执行异步任务的完整指南
本文详细介绍如何在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处理异步任务的核心知识点,感谢阅读与支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













