【问题标题】:cron, task queues and app versionscron、任务队列和应用程序版本
【发布时间】:2011-12-12 14:33:35
【问题描述】:

Cron and App Versions,我读到了。

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

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

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

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

【问题讨论】:

  • +1 的问题,但它也值得引用,“谷歌做了很多很棒的东西,但文档不是其中之一。”

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


【解决方案1】:

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

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

App Engine 中的 cron 和任务本质上是“客户端”,因此根据您向公众展示的 URL 空间来考虑它可能会有所帮助。 App Engine 的 cron 可能有一些特殊知识,可以帮助它找到您应用的特定版本,但通常,它会以与任何其他任意用户碰巧点击它时完全相同的方式启动……

【讨论】:

  • 这是有道理的,因为设置只有一个版本,正如我注意到的那样,执行器实体也只有一个版本,所以我不应该担心重复执行。
猜你喜欢
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-05
  • 1970-01-01
  • 2011-04-24
  • 2011-08-02
  • 1970-01-01
相关资源
最近更新 更多