您的位置:宽带测速网 > 编程知识 > Django中如何使用Celery实现异步任务处理

Django中如何使用Celery实现异步任务处理

2025-06-23 19:45来源:互联网 [ ]

在Django中使用Celery实现异步任务处理需要按照以下步骤来进行:

    安装Celery和Redis:
pip install celerypip install redis
    配置Celery:

在Django项目的settings.py文件中添加如下配置:

# settings.py# Celery配置CELERY_BROKER_URL = 'redis://localhost:6379/0'CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'# 导入Celery应用from celery import Celery# 创建Celery应用app = Celery('myapp')app.config_from_object('django.conf:settings', namespace='CELERY')app.autodiscover_tasks()
    创建Celery任务:

在Django应用中创建tasks.py文件,并定义需要异步处理的任务:

# tasks.pyfrom celery import shared_task@shared_taskdef my_task(param1, param2):# 任务逻辑result = param1 + param2return result
    调用Celery任务:

在Django的其他视图或函数中调用Celery任务:

from myapp.tasks import my_taskresult = my_task.delay(1, 2)
    启动Celery Worker:

在项目根目录下运行以下命令启动Celery Worker:

celery -A myproject worker --loglevel=info

这样就可以在Django中使用Celery实现异步任务处理了。Celery会将任务放入消息队列中,然后Worker会异步处理这些任务并返回结果。