1

我在 google app engine 上构建了一个应用程序,在 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 秒,它的失败速度比这快得多。

如果有人可以提供错误的链接或洞察力 - 特别是导致错误的原因以及可以采取哪些措施来解决它,我将非常感激。

4

1 回答 1

1

你开始在随意的对话和诅咒中使用“幂等”这个词:)

您唯一能做的就是再次尝试呼叫,并接受您的初始呼叫可能已经通过的事实,只是响应超时 - 即如果呼叫确实做了某事(例如创建客户订单),在超时错误之后,您可能必须检查第一个请求是否成功,这样您就不会得到同一订单的多个副本。

希望这是有道理的。FWIW 我们使用一些不友好的 API,对我们来说,大约 80% 的代码正在处理这种类型的 !@#$%。

于 2012-02-07T18:01:35.727 回答