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

Java cron、任务队列和应用程序版本,java,google-app-engine,cron,task-queue,Java,Google App Engine,Cron,Task Queue,我在书里看书 如果已为作业设置目标参数,则会将请求发送到指定版本。否则,Cron请求将发送到应用程序的默认版本 这是关于这个主题的唯一一句话(在那个文档中)。如果我说谷歌做了很多很棒的事情,但文档不是其中之一,会有人生气吗?哎呀,我想我刚说了 因此,如果在我的cron.xml中添加一个带有版本标识符的目标参数,我可以针对不同的版本。但是,假设我有两个不同的版本,其中一个是默认版本,都使用相同的cron.xml。cron是否仅在默认版本中运行?或者cron会在定义cron.xml的每个版本中运行吗

我在书里看书

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

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

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

对于任务队列,同样的问题是,我看到任务队列及其内容在不同版本之间共享。例如,如果我在不同版本中创建了一个新队列,那么默认版本也可以看到该新队列。我猜唯一允许处理队列的应用程序是默认版本,但我希望得到保证:-)

我相信在所有版本的应用程序之间只有一个
cron
队列;因此,cron任务将只调用默认版本,除非您另行指定。如果(例如)你可能有一些内务管理,你想做每一个版本,你会有多个条目

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


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

这是有道理的,因为正如我所注意到的,设置只有一个版本,executor实体只有一个版本,所以我不必担心重复执行。问题是+1,但也值得一提的是,“谷歌做了很多伟大的事情,但文档不是其中之一。”