2013-10-07 42 views
3

我遇到了GAE后端和任务队列的问题。基本上会发生的是,在后端在几分钟内完成几次url获取调用之后,任务开始陷入停滞状态,甚至无法启动。执行率下降到0.10/s,队列几乎不动。如果我重新启动后端实例,它只会开始移动,但只能再次达到0.10/s强制执行速率。Google App Engine:后台在获取大量网址后卡住了

我目前正在开发GAE项目,要求应用程序遍历70000个URL,检索HTML,检查HTML中的值,并根据HTML中的值更新数据存储区中的某些记录。

该实现涉及一个cron作业,每分钟需要大约300个URL,将它们拆分为10,并将它们分配给任务队列中的不同任务。每个任务遍历他们的10个URL,处理内容。

我正在运行B4静态后端实例。任务队列速率为5 /秒。最大并发请求数为8. 我尝试添加任务老化,但它没有帮助。

---- 2013年10月19日----

编辑:我尝试注释掉了大量的代码和缩小的问题URL抓取。显然,当我删除URL获取时,事情运行非常顺利。不过,我不确定如何解决这个问题,因为我非常确定我关闭了所有连接相关的资源。

回答