Как сохранить цикл, пока пользователь перенаправляется обратно на форму после того, как он сделал пост-запрос для запуска цикла
У меня есть приложение django с представлением, которое обрабатывает пост запрос от пользователя, чтобы начать бесконечный цикл. Проблема в том, что после успешного выполнения post запроса начинается цикл и браузер продолжает загружаться, ожидая ответа от сервера, что приводит к таймаутам прокси-сервера, обрабатывающего этот запрос.
Есть ли способ запустить цикл и продолжать его выполнение во время перенаправления или возврата ответа браузеру, чтобы предотвратить таймаут
смотрите код ниже:
def ticket_miner(request):
mining_urls = credentials.mining_urls
if request.method == 'GET':
form = forms.UpdateForm()
return render(request, 'tickets/mine.html', {'form': form})
else:
net_test = network_acess.network_test(urlpaths.net_urls)
while net_test:
with requests.session() as s:
try:
print('logging in ....')
s.post(login_url, data=payload, headers=headers, timeout=5)
r = s.get(success_url, timeout=5)
print(r)
if r.status_code == 200:
print('Logged in successfully')
while r:
count = 0
for mining_url in mining_urls:
r2 = s.get(mining_url, timeout=5)
count += 1
response_result = r2
if response_result.status_code == 404:
print('TICKET NOT FOUND!')
pass
else:
new_data = response_result.json()
miner.ticket_mapper(new_data)
print('mining')
continue
print('mining successfull restarting ...')
else:
print('Unable to authenticate... redirect detected')
except requests.exceptions.ConnectionError as e:
print(f'ConnectionError: {e.response} response. No internet connections!!')
except requests.exceptions.InvalidURL as e:
print(f'InvalidURL: {e.response} response. Incorrect url specified!!')
except requests.exceptions.Timeout as e:
print(f'ConnectTimeout: {e.response} response. Network interrupt')
except requests.exceptions.RequestException as e:
print(f'Mining error{e}')
except KeyboardInterrupt as e:
print(f'{e}Proces terminated by user')
break
print('ticket mining restarted')