5

最近,我开始在我的 Google App Engine 项目中使用有限的登台。数据仍然在所有版本之间共享,但行为(尤其是面向用户的行为)是不同的。

自然地,当我实现一些令人难以置信的新东西时,它只能在我的代码的最新版本上运行,我不觉得它应该向后移植到旧版本。

其中一些新功能需要定期运行 cron 作业,但我遇到了问题。我必须运行一个 cron 作业来调用最新的代码,但这是谷歌的文档对这个问题所说的:

Cron requests are always sent to the default version of the application.

默认版本是最旧的,因为发布给用户的客户端代码的第一个版本不是面向未来的,也不知道如何选择要调用的 API 版本。

所以我的问题是,我怎样才能绕过这个限制并制作一个将调用最新版本而不是默认版本的应用程序的 cron 作业?

4

2 回答 2

12

您现在可以使用目标标签指定版本。

<target>version-2</target>
于 2011-06-17T16:38:21.313 回答
3

您不能将 cron 作业更改为在与默认版本不同的版本上运行。

根据您的 cron 作业运行所需的时间,您可以将您的 cron 作业脚本更改为执行 URLFetch 到“http://latest.appname.appspot.com/cron_job_endpoint”。

如果您的 cron 作业需要超过 10 分钟才能运行,那么我会以一种可以使用任务队列链接不同任务的方式来设计它。

于 2011-02-06T16:09:07.103 回答