Я пытаюсь загрузить индикатор выполнения согласно инструкциям здесь .
На данный момент это мое мнение.
def progress_view(request):
count_pag = 200
result = hello.tasks.my_task(8,request).delay(1)
context = {'task_id': result.task_id}
return render(request, 'display_progress.html', context={'task_id': result})
Это my tasks.py
@shared_task(bind=True)
def my_task(self, seconds, request):
progress_recorder = ProgressRecorder(self)
result = 0
for i in range(seconds):
time.sleep(1)
result += i
progress_recorder.set_progress(i + 1, seconds)
return result
Нет проблем при удалении ввода запроса. Но мне нужен какой-то дополнительный ввод в функцию, чтобы выполнить обработку, которую я хочу. Как добавить дополнительные входы в функцию 'my_task' без обратной трассировки, как показано ниже ???
Traceback:
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/alvintung/rndtwitr/hello/views.py" in account
22. return progress_view(request)
File "/Users/alvintung/rndtwitr/hello/views.py" in progress_view
33. result = hello.tasks.my_task(8,request).delay(1)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery.
/local.py" in __call__
191. return self._get_current_object()(*a, **kw)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery/app/task.py" in __call__
375. return self.run(*args, **kwargs)
File "/Users/alvintung/rndtwitr/hello/tasks.py" in my_task
27. progress_recorder.set_progress(i + 1, seconds)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery_progress/backend.py" in set_progress
40. 'description': description
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery/app/task.py" in update_state
892. self.backend.store_result(task_id, meta, state)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery/backends/base.py" in store_result
322. request=request, **kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery/backends/base.py" in _store_result
664. self.set(self.get_key_for_task(task_id), self.encode(meta))
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/celery/backends/base.py" in get_key_for_task
570. self.task_keyprefix, key_t(task_id), key_t(key),
Exception Type: TypeError at /account/
Exception Value: sequence item 1: expected a bytes-like object, NoneType found