我已经在谷歌应用引擎上构建了一个应用程序,在python27中连接另一个服务API,一般来说一切顺利。我偶尔会得到以下两个错误之一
(<class 'google.appengine.api.remote_socket._remote_socket.error'>, error('An error occured while connecting to the server: ApplicationError: 2 ',), <traceback object at 0x11949c10>)
(<class 'httplib.HTTPException'>, HTTPException('ApplicationError: 5 ',), <traceback object at 0x113a5850>)
这些错误中的第一个(ApplicationError:2)我将其解释为与我正在通信的服务器部分发生的错误,但是我无法找到关于此的任何细节,如果有的话方式我负责/可以解决它。
这些错误中的第二个(ApplicationError:5)我发现了一些细节并且它表明服务器花了太长时间与我的应用程序通信 - 但是我将超时设置为20秒并且它失败得快得多不止于此。
如果有人可以提供链接或洞察错误 - 特别是导致错误的原因以及可以采取哪些措施来解决错误,我非常感谢。
答案 0 :(得分:1)
你可以在随意的对话和诅咒中开始使用“idempotent”这个词:)
你唯一能做的就是再次尝试通话,接受你的初始通话可能已经通过的事实,只是超时响应 - 即如果通话真的做了什么(创建客户订单)例如),在超时错误之后,您可能必须检查第一个请求是否成功,这样您就不会得到同一订单的多个副本。
希望这是有道理的。 FWIW我们使用一些不友好的API,对我们来说,大约80%的代码正在处理这类!@#$%。