2012-08-11 68 views
0

我对任务的GAE的概念很混乱,任务队列(推和拉),cron作业和如何每一项涉及到前端与后端实例。谷歌应用程序引擎:排队任务VS Cron作业

我想实现其中某些HTTP请求可立即提供服务的情况,而有些被排队。排队请求可能最终会触发我自己的代码执行(一旦它们被使用),或者它们可能会碰到GAE服务API之一(LogQuery等)。

我似乎不能换我围​​绕如何设计这两个场景头更不用说做代码了。更糟糕的是,我读过的文献表明,根据代码是在前端还是后端实例上执行,您想要做某些与任务/队列相关的编码。预先感谢您在这里的任何帮助!奖励积分的一些具体的例子!

回答

0

您编写代码,Tasks和Cron执行它。

任务为一组属性的一个wraper,主要的一个是地址应该执行。你的代码(handler,servlet)应该驻留在那个url上。任务位于TaskQueues中,它具有某些默认属性,速度有多快,并行多少个等等。它们执行任务。所以基本上是一个待办事项列表,它会在任务开始时按顺序执行任务,但不能保证。

cron是定期调用您提供的URL的服务。从某种意义上说它是一个调度器。

您的网址(=处理程序/ servlet的)可以驻留在前端实例(默认)或后端实例(必须在任务或在cron设置中设置特殊属性)。主要区别在于前端请求必须在10分钟内完成,而后端请求可以无限期地完成。

+0

请注意,您可以定义任务的ETA或倒计时。 – proppy 2012-08-12 00:23:22