gpt4 book ai didi

python - 在 python 循环期间暂停的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-01 06:58:58 28 4
gpt4 key购买 nike

我有一个循环遍历列表元素的脚本。每个元素都用于查询 API。但是,该 API 有查询限制(24 小时内仅允许 500 次查询)。我目前正在通过循环中的计数器来管理此操作,该计数器会针对 500 个元素的每个“ block ”进行重置,并将循环暂停一天。有更好的方法吗?

counter = 0
for query in queries:
if counter < 500:
counter = counter + 1
api = ApiClient(api_key='secretkey')
data = api.get(q=query)
print(data)
safequery = ''.join(e for e in query if e.isalnum())
datafilename = "{} {}.txt".format(safequery,todaysdate)
with open(datafilename, 'w') as outfile:
json.dump(data, outfile)
else:
print('sleepy time')
time.sleep(86400)
counter = 0

最佳答案

time.sleep(86400) 是在自找麻烦,而且还会让你的 CPU 毫无用处。如果在这 86400 秒内发生某些事情并且脚本崩溃,则不会重新启动它。

更好的选择是将当前页面/ block 保存在某个地方(原始文本文件、json、DB,并不重要),然后在发出下一个请求之前加载它。

然后,您可以将脚本放入操作系统级别/托管任务计划程序(例如,用于 Unix 的 cron 或用于 Windows 的任务计划程序)并每天运行它。

关于python - 在 python 循环期间暂停的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58713763/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com