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 案例

Django使用Celery异步任务队列

xadmin引入celery执行异步任务与定时任务

Django使用celery异步发邮件

Django - 如何在 celery 和 redis 中使用异步任务队列

python测试开发django-157.celery异步与redis环境搭建