我的应用正在使用第三方API
。它定期在多个端点轮询该API
。根据用户与应用程序的互动,In还会对API
进行一些其他调用。 API
非常慢,大多数请求会花一秒钟的时间。 API
非常不稳定-超时很常见,500
错误很常见,会话密钥经常随机失效(即使定期调用定义的“ keep_alive”端点)。无法选择使用其他API
。
处理这样的API
的最佳实践是什么?
如何在API
级别上禁用对此requests
的并发请求。因此,如果一个请求正在等待响应-第二个请求没有启动?这应该在“每个域”的基础上完成,对其他域的其他请求仍应同时进行。
是否有其他设置可以用requests
切换,以便更轻松地处理这样的API
?
答案 0 :(得分:2)
如果您的主要问题是在多线程(或多进程)应用程序中序列化对该API的调用,则一种简单的方法是将其包装到一个新模块中,并通常在该模块中使用锁定。
如果不同的客户端可以同时使用Web API,并且出于性能原因需要序列化请求,则可以想象有一个专用的序列化代理。只需在代理中使用上述方法即可。
答案 1 :(得分:1)