gpt4 book ai didi

python - 当我认为不应该时,App Engine urlfetch 正在引发异常

转载 作者:行者123 更新时间:2023-11-28 17:54:51 24 4
gpt4 key购买 nike

我已经使用 App Engine API 编写了我的第一个 Python 应用程序,它旨在监控服务器列表并在其中一个出现故障时通知我,方法是使用 Prowl 向我的 iPhone 发送消息,或者向我发送电子邮件,或两者。

问题是,它每周有几次通知我服务器已关闭,即使它显然没有。我已经用我知道应该一直运行的服务器对其进行了测试,例如 google.com 或 amazon.com,但我也收到了它们的通知。

我有一份在 运行的代码副本http://aeservmon.appspot.com ,您可以看到 google.com 是在 1 月 3 日添加的,但仅列为可用 6 天。

下面是 checkservers.py 中使用 urlfetch 进行检查的代码的相关部分,我假设只有在无法联系服务器时才会引发 DownloadError 异常,但也许我错了。

我错过了什么?

mrsteveman1/aeservmon 下 github 上的完整源代码(作为新用户我只能发布一个链接,抱歉!)

def testserver(self,server):
if server.ssl:
prefix = "https://"
else:
prefix = "http://"
try:
url = prefix + "%s" % server.serverdomain
result = urlfetch.fetch(url, headers = {'Cache-Control' : 'max-age=30'} )
except DownloadError:
logging.info('%s could not be reached' % server.serverdomain)
self.serverisdown(server,000)
return
if result.status_code == 500:
logging.info('%s returned 500' % server.serverdomain)
self.serverisdown(server,result.status_code)
else:
logging.info('%s is up, status code %s' % (server.serverdomain,result.status_code))
self.serverisup(server,result.status_code)

1 月 21 日更新:

今天在日志中发现了一个异常:

ApplicationError: 5 
Traceback (most recent call last):
File "/base/python_lib/versions/1/google/appengine/ext/webapp/__init__.py", line 507, in __call__
handler.get(*groups)
File "/base/data/home/apps/aeservmon/1.339312180538855414/checkservers.py", line 149, in get
self.testserver(server)
File "/base/data/home/apps/aeservmon/1.339312180538855414/checkservers.py", line 106, in testserver
result = urlfetch.fetch(url, headers = {'Cache-Control' : 'max-age=30'} )
File "/base/python_lib/versions/1/google/appengine/api/urlfetch.py", line 241, in fetch
return rpc.get_result()
File "/base/python_lib/versions/1/google/appengine/api/apiproxy_stub_map.py", line 501, in get_result
return self.__get_result_hook(self)
File "/base/python_lib/versions/1/google/appengine/api/urlfetch.py", line 331, in _get_fetch_result
raise DownloadError(str(err))
DownloadError: ApplicationError: 5

最佳答案

其他人一直在报告获取服务的问题(例如 http://code.google.com/p/googleappengine/issues/detail?id=1902&q=urlfetch&colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component)

你能打印异常吗,它可能有更多细节,例如:

"DownloadError: ApplicationError: 2 something bad"

关于python - 当我认为不应该时,App Engine urlfetch 正在引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2105971/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com