тем url где данные ещё не построили ретрай
ведь так?
Если я вернусь к п.1, то сделаю снова 9к запросов
а какая разница ? можешь сделать повторный запрос через какуюнить рекурсию пока не получишь ответ , сути это не меняет .. тебе надо все 9000 все равно ., рано или поздно но все одно тебе придется проходить заного .. рано или поздно имхо безразницы ..
https://docs.python.org/3/library/concurrent.futures.html См пример с threadpoolexecutor просто в таске у тебя не запрос а луп с запросом и слипом пока не вернется результат
Вот я через это и делаю все запросы в принципе
А какой сейчас код? выше видел но что то там не особо то или код неполный
from tech.concurrent_response import concurrent_response from tech.requests_retry import requests_retry_session from ScoutConnector.start_build import build_statistics import time r = requests_retry_session() def fuel_statistics(url, auth_token, statistics_token_list): def get_url(args): headers = {'Accept': '*/*', 'ScoutAuthorization': auth_token} return r.post(args[0], json=args[1], headers=headers) def add_statistics(): add_urls_list = [] for token in statistics_token_list: urls = [url + 'spic/fdstat/rest/AddStatisticsRequest', {'StatisticsSessionId': token}] add_urls_list.append(urls) for response in concurrent_response(get_url, add_urls_list): return response def get_statistics(): get_urls_list = [] for token in statistics_token_list: urls = [url + 'spic/fdstat/rest/GetStatistics', {'StatisticsSessionId': token}] get_urls_list.append(urls) statistics = [] for response in concurrent_response(get_url, get_urls_list): data = response.json() statistics.append(data) return statistics add_statistics() build_statistics(url, auth_token, statistics_token_list) time.sleep(10) get_statistics()
Обсуждают сегодня