在Django中使用Celery實現異步任務處理需要按照以下步驟來進行:
pip install celery
pip install redis
在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()
在Django應用中創建tasks.py文件,并定義需要異步處理的任務:
# tasks.py
from celery import shared_task
@shared_task
def my_task(param1, param2):
# 任務邏輯
result = param1 + param2
return result
在Django的其他視圖或函數中調用Celery任務:
from myapp.tasks import my_task
result = my_task.delay(1, 2)
在項目根目錄下運行以下命令啟動Celery Worker:
celery -A myproject worker --loglevel=info
這樣就可以在Django中使用Celery實現異步任務處理了。Celery會將任務放入消息隊列中,然后Worker會異步處理這些任務并返回結果。