Обрабатывать исключения запросов при использовании потоков? - PullRequest
0 голосов
/ 04 ноября 2019

Я использую request.post в потоке, так как я нажал на URL, и не жду ответа, так как у меня есть около 4,5 тыс. Событий для отправки по одному событию за раз.

def request_task(url, data, headers):
    try:
        response = requests.post(url, json=data, headers=headers)

    except requests.ConnectionError as e:
        print (e)
     except requests.exceptions.RequestException as e:
         print (e)

def fire_and_forget(url, json, headers):
    x=threading.Thread(target=request_task, args=(url, json, headers))
    x.start()

def push():
    fire_and_forget(url, json=data, headers=headers)

Я не являюсьуверен, где я должен использовать try block, и я делаю это правильно, так как использую thread.

Может ли кто-нибудь подсказать, как я могу перехватить исключения, также принимая во внимание поток

1 Ответ

0 голосов
/ 05 ноября 2019

при использовании request.post мы можем использовать

def request_task(url, data, headers):
try:
    r = requests.post(url, json=data, headers=headers)
    r.raise_for_status()
except requests.exceptions.HTTPError as e:
    print (e.response.text)

Чтобы перехватить исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...