Retry decorator on RateLimitExceeded issue
維護者通常 1 天內回覆
還沒有人認領這個 Issue。
評估
研究方向
先追蹤 libcloud/common/base.py 中的 retry 裝飾器和請求流程,然後比較 libcloud/common/azure_arm.py 中的 Azure ARM 路徑與報告中所示的 azure_arm 驅動程式呼叫。重現已設定的速率限制案例,並判定傳回的 429 如何變成 RateLimitReachedError。啟用 retry 邏輯後,速率限制回應的重試行為能夠正常運作,即表示完成。
由索引模型根據 Issue 內容生成。
描述
Summary
Enabling retry logic does not work for rate limit exceeded responses.
Detailed Information
retry decorator expects a RateLimitExceeded error to be raised, though session.request method does not raise an exception if a response is returned by the server no matter the status code.
I've tested it on azure_arm driver by setting RETRY_FAILED_HTTP_REQUESTS to True and trying:
while True:
nodes = driver.list_nodes()
print(nodes)
Hitting the throttling limit results in:
Traceback (most recent call last):
File "test.py", line 23, in <module>
nodes = driver.list_nodes()
File "/home/dimgal/libcloud/libcloud/compute/drivers/azure_arm.py", line 395, in list_nodes
r = self.connection.request(action,
File "/home/dimgal/libcloud/libcloud/common/azure_arm.py", line 227, in request
return super(AzureResourceManagementConnection, self) \
File "/home/dimgal/libcloud/libcloud/common/base.py", line 655, in request
response = responseCls(**kwargs)
File "/home/dimgal/libcloud/libcloud/common/base.py", line 165, in __init__
raise exception_from_message(code=self.status,
libcloud.common.exceptions.RateLimitReachedError: 429 Rate limit exceeded
urllib3 supports retries based on HTTP status codes, maybe use this? Let me know how you think this should be handled
- 主要語言
- Python
- 星號
- 2.1k
- 分支
- 935
- 平均合併
- 5 天 3 小時
- 30 天內合併 PR
- 15
環境準備
- 沒有 Dockerfile 或 Docker Compose 檔案
- 有 Pull Request 範本
- 閱讀貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
apache/libcloud 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 76/100
維護者通常 1 天內回覆
-
難度 1/5 1-3 小時 新手友好度 88/100
維護者通常 1 天內回覆
-
Local range download leaves an output file after source-read failure despite delete_on_failure=True未關閉
難度 2/5 1-3 小時 新手友好度 82/100
維護者通常 1 天內回覆
-
難度 5/5 一週以上 新手友好度 15/100
apache/libcloud#2215 · 3 則留言 · 2 個 reaction ·
維護者通常 1 天內回覆
-
難度 5/5 一週以上 新手友好度 35/100
維護者通常 1 天內回覆
相似的 Issue
-
Email validation accepts a trailing newline可能已有人在做 @marcello-pichini 今天認領。 未關閉
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 72/100
dbt-labs/spark-utils#51 ·
-
難度 2/5 1-3 小時 新手友好度 85/100
維護者通常 1 天內回覆
-
bug frontend
難度 2/5 1-3 小時 新手友好度 88/100
vendrabuck/HERD#1419 ·
維護者通常 1 天內回覆
-
難度 2/5 1-3 小時 新手友好度 78/100
維護者通常 1 天內回覆