【发布时间】:2021-06-24 13:51:16
【问题描述】:
目前我正在使用一些 api,我必须在其中更新或删除数据。 为了验证自己,我必须使用一些令牌,它们的有效期为 10 分钟。
我的任务需要超过 10 分钟,所以我无法正常完成我的程序。
我对这个问题的解决方案是跟踪时间,在 9 分钟后,我想请求新令牌并继续在我的 for 循环中停止的地方继续。
import time
end_time = time.time() + 60*9
while time.time() < end_time:
for repetition in range(0, 4):
sw_patcher_ghp = Shopware()
bearer_token_ghp = sw_patcher_ghp.get_access_token()
continue
##compare both files if skus are matching, grab the data which is needed for patching ruleIds
for i in range(0, len(all_json)):
for ii in range(0, len(all_csv)):
if all_json[i][0] == all_csv[ii][0]:
print(sw_patcher_ghp.patch_ruleid(bearer_token_ghp, all_json[i][1], all_csv[ii][1], true_boolean), 'GHP', all_json[i][1])
现在最大的问题是: 如何请求新令牌,但我还必须能够在我离开的地方继续 for 循环
例如,当我在 i = 500 离开时,我想在 501 收到新令牌后开始
【问题讨论】:
-
为什么不在每次调用
patch_ruleid()之前检查经过的时间,并在需要时获取一个新的bearer_token_ghp? -
您可以在嵌套循环中更新令牌
-
@quamrana 我想我知道你想指出什么,但我也是在同一点上,还是?可能我误会了你
-
@FilipMłynarski 是的,我知道,但我不想在完成的每个循环中更新令牌,因为我很穷,网络服务器也是如此
标签: python python-3.x for-loop while-loop shopware