我正在使用python中的requests包来查询正在为我执行某些处理的异步Web服务。如何确定在检查处理状态之间等待的最佳间隔?对于某些典型的处理请求,您是否需要生成典型等待时间的分布?如果您生成了这样的数据集,它会有用吗?
修改
正如您可能从documentation中看到的那样,似乎没有关于此服务的回叫选项可以让我知道处理已完成。
这是一个直方图,显示初始请求和处理完成之间的等待时间(以秒为单位)的分布:
答案 0 :(得分:2)
作为一般规则,异步操作应提供一些已完成的信号,因此不必轮询它们。检查文档以查看在请求完成时是否可以调用回调函数。
如果你别无选择,只能轮询,那么目标是尽量减少接受响应的延迟,同时不要过度轮询过度加载服务。适当的比例将取决于服务实际请求的相对成本与服务投票的成本。
响应时间主要取决于排队的其他请求的服务往往具有遵循泊松分布的响应时间,但其他分布也是可能的。
在大多数情况下,在接近平均响应时间之前,甚至没有必要开始轮询。
这些可能很有用: