2021-07-28 02:15:48 +03:00

29 lines
990 B
Python

from django.http import HttpRequest, HttpResponse
from django.shortcuts import render, redirect
from django.urls import reverse
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.core.exceptions import ObjectDoesNotExist
from .tasks import process_download
from django.views.decorators.http import require_http_methods
from celery.result import AsyncResult
task_id = {}
def demo_view(request: HttpRequest) -> HttpResponse:
username = str(request.user.username)
if request.method == 'POST':
# Create Task
download_task = process_download.delay()
# Get ID
task_id[username] = download_task.task_id
# Print Task ID
print(f'Celery Task ID: {task_id[username]}')
# Return demo view with Task ID
return render(request, 'progress.html', {'task_id': task_id[username]})
else:
# Return demo view
return render(request, 'progress.html', {})