使用队列和调度程序可以更好地解决问题。
您将处理分为两个方面: source 和 dispatch 。这些可以是单独的线程(如果更容易,也可以是单独的进程)。
在 源 端创建,并在任何速率排队,请求让他们高兴。
在 调度 方面做到这一点。
获取请求的开始时间 s 。
使请求出队,通过远程服务处理请求。
获取当前时间 t 。睡眠 率 - ( 牛逼 - 小号 )秒。
如果要运行直接连接到远程服务的“ 源” 端,则可以这样做,并绕过速率限制。这对于使用远程服务的模拟版本进行内部测试非常有用。
困难的部分是为您可以排队的每个请求创建一些表示。由于Python
Queue几乎可以处理任何事情,因此您无需做太多事情。
如果使用多处理,则必须腌制对象才能将它们放入管道中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)