我编写了一个基于异步框架的应用程序。此应用程序与具有速率限制(每秒最多2次调用)的API交互。因此,我将与API交互的方法移到芹菜中,将其用作速率限制器。但它看起来像是一种开销。
有什么方法可以创建一个新的异步事件循环(或其他一些东西)来保证一个coroutins的执行不超过每秒n?
发布于 2016-07-31 14:40:27
我相信你能写出这样的循环:
while True:
t0 = loop.time()
await make_io_call()
dt = loop.time() - t0
if dt < 0.5:
await asyncio.sleep(0.5 - dt, loop=loop)https://stackoverflow.com/questions/38683243
复制相似问题