簡體   English   中英

檢查會話是否仍然有效/處理 connectionError 的最有效方法?

[英]Most efficient way to check if a session is still valid/handle connectionError?

如何檢查 Python 3.5 中的 Session 是否仍然能夠處理get()請求? 當人們將同一個 Session 重用於多個請求時,是否有一個標准程序供人們在使用 Session 發送get()請求時用來檢查這一點?

具體來說,我想盡可能有效地處理ConnectionErrors 我不得不說的應該是高性能盡可能寫代碼。

我想盡可能有效地避免或管理的錯誤示例:

  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "C:\Anaconda3\lib\site-packages\rauth\session.py", line 210, in request
    return super(OAuth1Session, self).request(method, url, **req_kwargs)
  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Anaconda3\lib\site-packages\requests\sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "C:\Anaconda3\lib\site-packages\requests\adapters.py", line 426, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

最好捕獲requests引發的異常並妥善處理它們(請參閱此處),使用超時值並可能使用適合您的用例的重試策略,並使用模擬響應進行單元測試。 不確定您對有效管理的其他含義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM