当上传到flickr时,我的应用程序间歇性地(大约10%的时间?小样本量)在5s之后超时,即使在覆盖截止日期之后也是如此。有什么想法会导致这种情况吗?
答案 0 :(得分:1)
如果您嵌入了AppEngine库,则可以修补网址获取并在截止日期前设置60秒。它位于文件httplib2 / init .py(2次修改)中:
def fixed_fetch(url, payload=None, method="GET", headers={},
allow_truncated=False, follow_redirects=True,
deadline=60):
return fetch(url, payload=payload, method=method, headers=headers,
allow_truncated=allow_truncated,
follow_redirects=follow_redirects, deadline=60,
validate_certificate=validate_certificate)
return fixed_fetch
答案 1 :(得分:-1)
与Maël提出的建议相反,为了充分处理这种情况,你应该减少(或者只是保留默认值)URLFetch调用的截止时间,然后捕获异常并重试多次进行指数退避。我们的想法是,如果服务器暂时关闭(因为它可能在您的情况下发生),那么在重新启动的同时响应的请求也不会令人不知所措。您可以看到此练习的简要说明here。
或者,您可以使用Sockets API作为httplib来使用套接字。