Django使用Celery加redis执行异步任务
Posted 不识少年愁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django使用Celery加redis执行异步任务相关的知识,希望对你有一定的参考价值。
简单使用
安装celery及redis
定义celery任务
项目下新建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
from celery_tasks.tasks import send_register_active_email def register(): send_register_active_email.delay("test1\\n") if __name__ == "__main__": register()
在项目目录下启动celery
celery -A tasks worker -l info
再运行run.py
如图,接收到任务并成功执行。
发送邮件
定时任务
以上是关于Django使用Celery加redis执行异步任务的主要内容,如果未能解决你的问题,请参考以下文章
Celery 3 版本 定时执行与 异步执行 | Django 案例