即使在后端运行任务队列时也出现“超过截止时间”错误

2024-05-16 13:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我遇到了一些问题,超过了截止日期错误。基本上,我使用Mechanize在URL中进行一些web垃圾处理。所以当你试着表演的时候

br.open(url)

我有这个错误

HTTPException: Deadline exceeded while waiting for HTTP response from URL: my-url

我读过documentation,其中说要使用后端(我使用的是动态后端,B4ˉ1G类,有5个实例),但60秒后仍然发生此错误。并且根据文档,在使用任务队列后端时,超时应该延长到10分钟。在

下面是我如何将操作分配到任务队列上运行,其目标位于后端的第一个实例上。在

^{pr2}$

这是后端.yaml。在

backends:
- name: myworker
  class: B4_1G
  instances: 5
  options: dynamic

你知道会发生什么吗?谢谢您。在


Tags: 实例brweburl队列错误openmechanize
1条回答
网友
1楼 · 发布于 2024-05-16 13:19:41

任何涉及通过HTTP获取数据的请求在appengine上的时间都不会超过60秒。在

10分钟的限制指的是任务本身——它们最多可以运行10分钟。在

因此,GAE可能不是这里的最佳选择,因为您只能使用它提供的urlphetch等版本,如果您的请求平均需要超过60秒。在

You can set a deadline for a request, the most amount of time the service will wait for a response. By default, the deadline for a fetch is 5 seconds. The maximum deadline is 60 seconds for HTTP requests and 10 minutes for task queue and cron job requests.

https://developers.google.com/appengine/docs/python/urlfetch/

因此,一个任务可以运行10分钟,一个url获取可以运行(最多)60秒。无论从何处执行urlphetch操作,无论是前端还是后端,限制都是相同的。在

相关问题 更多 >