1

我有一个要上传的大文件。整个请求可能需要超过 30 秒的限制,因此我将其移至任务队列。问题是即使在任务中,我仍然会收到此错误。
我假设这是因为它是上传文件的单个请求,因此不能免受 30 秒的限制。除了使用“后端”解决方案(我认为 App 引擎刚刚添加了这个,但它是一个付费功能,看起来有点复杂)之外,有没有办法绕过这个限制?不幸的是,我无法拆分文件。

编辑:很抱歉造成混乱。通过上传,我的意思是上传到外国服务器。场景是我从数据存储中提取数据并将其上传到 Google Docs 电子表格。将其上传到 Google Docs 的单个请求,即使它在任务队列中,也超过 30 秒并且超时。

4

2 回答 2

3

您可能会得到两种类型的 DeadlineExceeded - 一种是由于请求超时,另一种是由于 URLFetch 调用超时。任务队列上的请求截止时间是 10 分钟,但 URLFetch 调用的默认截止时间是 5 秒,因此您几乎肯定会得到后者。

timeout您可以通过提供参数来增加 URLFetch 调用的截止日期。这在交互式请求中限制为 10 秒,在任务队列请求中限制为 10 分钟。

于 2011-08-10T00:36:44.773 回答
0

除了请求时间限制,还有一个 32Mb 的请求大小限制。如果您超出此范围,则必须使用替代解决方案,例如 Blobstore 或外部存储。

于 2011-08-09T08:22:43.713 回答