将app引擎cron作业分解成更小的块?

时间:2010-08-13 02:22:43

标签: java google-app-engine

我有一个解析RSS提要的cron作业。事实证明它需要太长时间,所以我得到一个HardDeadlineExceededError。我尝试创建两个cron作业,一个解析偶数提要,一个解析奇数提要,我仍然得到错误。

分解这项工作的最佳方法是什么,它适合30秒钟的窗口?

3 个答案:

答案 0 :(得分:2)

我建议使用Task Queue - 任务可以执行您选择的任意N个子任务,确保关闭但不能接近硬截止日期然后它产生了另一个任务,继续在产卵者离开的地方。

答案 1 :(得分:1)

增加作业数量以减少每个作业的Feed数量。不只是两个段(奇数和偶数),而是更多(进给数MOD x),直到它适合窗口。

如果这不起作用(cron作业太多),请查看任务队列。这样,cron作业可以将工作推送到队列中,每个订阅源可能有一个任务。

答案 2 :(得分:0)

我最终做的是创建一个简单的数据存储对象,跟踪我最后解析的RSS提要。我解析一个RSS提要并在每次运行cron作业时递增变量。