我使用的是pythongithub3模块,我需要设置请求到githubapi之间的延迟,因为我的应用程序会给服务器带来很大的负载。在
我在做一些事情,比如
git = github3.GitHub()
for i in itertools.chain(git.all_repositories(), git.repositories(type='private')):
do things
我发现GitHub使用请求向GitHub api发出请求。 https://github.com/sigmavirus24/github3.py/blob/3e251f2a066df3c8da7ce0b56d24befcf5eb2d4b/github3/models.py#L233
但是我不知道应该传递什么参数,或者应该更改什么属性来设置请求之间的延迟。在
你能给我点建议吗?在
github3.py目前没有强制请求之间延迟的选项。也就是说,有一种方法可以获取请求元数据,其中包括您在ratelimit中留下的请求数量以及ratelimit应该何时重置。我建议您使用
git.rate_limit()['resources']['core']
来确定应该在自己的循环中为自己设置哪些延迟。在当我希望超出查询限制时,我使用以下函数:
我会在发出我认为“大”的调用之前调用它(即可能需要多个API调用才能满足)。根据代码示例,您可能希望在循环的底部执行以下操作:
^{pr2}$相关问题 更多 >
编程相关推荐