В настоящее время я использую сельдерей в моем Django проекте. Ниже приведены мои views.py и tasks.py файлы.
views.py
def status_codes(request):
try:
url = request.GET.get('url')
urls = linksextraction(url)
url_codes.objects.all().delete()
for each_url in urls:
res = url_status_codes.delay(each_url[1])
while (res.status == 'PENDING'):# waiting till all tasks are completed
pass
# Do manipulations from db data
tasks.py
@app.task
def url_status_codes(url):
r = requests.head(url)
status_code = r.status_code
spell_words = spellcheck(url, 'English--en')
if (not spell_words):
spell_words = 'NA'
data = url_codes(status_code=status_code, url=url, spell_words=spell_words)
data.save() # Saving in Database
Из приведенных выше фрагментов кода, Я сохраняю результаты, достигнутые в tasks.py в базе данных , и когда все задачи выполнены, я получаю результаты из БД и выполнения манипуляций.
Есть ли способ получить все результаты в tasks.py в views.py без сохранения в db.