我在一個網路專案中作業,我需要 1)創建一個用戶 2)使用用戶憑據登錄。問題是在用戶被添加到資料庫之前有一段未指定的時間,所以我需要等待這段時間。
我想創建一個顯式等待,它將每隔 n 秒發送一次 GET 請求,直到回應包含添加的用戶憑據。
from time import sleep
from requests import Session
session = Session()
url = 'app_url_with_user_list_endpoint'
resp = session.get(url=url)
while resp.json()[-1]["email"] != "[email protected]":
sleep(0.5)
resp = session.get(url=url)
在這里,我嘗試更新回應,直到它包含新的用戶電子郵件。但是,我剛剛創建了一個無限回圈。
那么,我如何等待回應以保留所需的電子郵件?可選:如何指定最大重試次數?
uj5u.com熱心網友回復:
下面的作業嗎?(限制為 10 次嘗試,此處相當于超時 5 秒。)
from time import sleep
from requests import Session
session = Session()
url = 'app_url_with_user_list_endpoint'
match = "[email protected]"
success = False
for _ in range(10):
resp = session.get(url=url)
if resp.json()[-1]["email"] == match:
success = True
break
sleep(0.5)
if success:
print("Success: User was added")
else:
print("Timeout: Failed to add user")
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/483781.html
