【发布时间】:2011-06-17 16:27:13
【问题描述】:
我有两个正在运行的应用引擎应用程序实例,我想与一个 Restful 接口进行通信。一旦更新了其中一个的数据,它就会在第二个上调用一个 web 挂钩,该挂钩将为它自己的系统检索数据的新副本。 在“site1”里面我有:
from google.appengine.api import urlfetch
url = www.site2.com/data_updated
result = urlfetch.fetch(url)
在“site2”上的 data_updated 处理程序中,我有:
url = www.site1.com/get_new_data
result = urlfetch.fetch(url)
两个站点之间传递的数据很少,但我收到以下错误。我尝试将截止日期增加到 10 秒,但这仍然不起作用。
DeadlineExceededError: ApplicationError: 5
谁能提供任何关于可能发生的事情的见解?
谢谢 - 理查德
【问题讨论】:
-
urlfetch 有一些我观察到的不一致之处,您是否尝试过 python 标准 urllib2.urlopen(url).read() 而不是 urlfetch.fetch(url)
-
这是在 dev_appserver 上吗? dev_appserver 是单线程的,因此如果在处理请求时尝试从其中获取某些内容,它将超时。
-
@Nick - 嗨尼克,没有两台服务器都在生产应用程序引擎上运行。
-
@Adithya - 是的,我们也尝试过。
标签: python google-app-engine urlfetch