[英]How to get data from django celery tasks
# In tasks.py file
from __future__ import absolute_import
from celery import shared_task
@shared_task
def add(x, y):
return x + y
# In views.py
def home(request):
context = {
'add': tasks.add.delay(5,2)
}
return render(request, "home.html", context)
# In home.html
<h1>{{ add }}</h1>
而不是7出現在home.html上,我看起來像這樣的giberish:313e-44fb-818a-f2b2d824a46b。 如何從tasks.py文件中獲取數據?
只需更改:
def home(request):
context = {
'add': tasks.add.delay(5,2)
}
return render(request, "home.html", context)
至:
def home(request):
context = {
'add': tasks.add.delay(5,2).get()
}
return render(request, "home.html", context)
這也將由Celery處理。
Ading .delay()
您將任務設置為異步並且您正在接收task_id
。
doc中的更多信息: 調用任務
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.