cron,任务队列和应用程序版本

时间:2011-12-12 14:33:35

标签: java google-app-engine cron task-queue

Cron and App Versions中,我读了。

  

如果已为作业设置目标参数,则会将请求发送到指定的版本。否则,Cron请求将被发送到应用程序的默认版本。

这是关于这个主题的唯一一句话(在该文档中)。有人会生气如果我说 Google正在做很多很棒的事情,但文档不是其中之一吗? 糟糕,我想我只是说了

所以,如果在我的cron.xml中,我添加了一个带有我的版本标识符的目标参数,我可以定位不同的版本。但是,假设我有两个不同的版本,其中一个是默认版本,两者都具有相同的cron.xml。 cron只会在默认版本中运行吗?或者cron是否会在定义cron.xml的每个版本中运行?

对于任务队列的同样问题,我看到任务队列及其内容在版本之间共享。例如,如果我在不同版本中创建新队列,则新队列对于默认版本也是可见的。我想允许处理队列的唯一应用程序是默认版本,但我想放心:-)。

1 个答案:

答案 0 :(得分:2)

相信您的应用的所有版本之间只有一个cron队列;所以cron任务只会调用默认版本,除非你另有说明。如果(例如)您可能需要为每个版本进行一些内务管理,则必须进行多次输入。

同样,任务将转到您的应用程序的默认版本,除非另有特别路由...

cron& App Engine中的任务本质上是“客户端”,因此根据您向公众呈现的URL空间来考虑它可能会有所帮助。 App Engine的cron可能有一些特殊的知识,可以帮助它找到你的应用程序的特定版本,但一般情况下,它只会像任何其他任意用户碰巧碰到它时一样启动......