2012-08-05 76 views
1

我已经在Google App Engine(Java)中设置了一个Cron作业并已将其部署到非默认版本。下面是cron.xml的摘录:测试非默认App Engine cron作业

<cron> 
    <url>/_ah/cron/argosCheck</url> 
    <schedule>every 1 hours</schedule> 
</cron> 

cron作业出现在仪表板,但它失败:

/_ah/cron/argosCheck 
<description>Trigger an Argos Web Services poll</description> 
Trigger an Argos Web Services poll every 1 hours (UTC) 
2012/08/05 22:05:12 on time Failed 

我验证过处理的工作,我可以手动触发该过滤器。 其他cron作业在默认版本内正常工作。 现在的问题是:我是否需要指定一个绝对URL来定位部署该cron作业的非默认版本? cron作业的调度程序是否仅使用默认版本运行? (不能回想起那个地方的阅读,但如果它在文档中,我错过了,请告诉我)

与此问题类似Testing non-default App Engine task queues

回答

3

有两点需要注意:

  1. /_ah/*路径上你不应该注册您的处理程序(servlet的)。这是为系统服务保留的。如果您的映射错误,您可能会阻止访问系统提供的网址。
  2. 您可以使用target parameter with Cron来定义应用程序版本。
+0

谢谢,我会看看2.无法看到什么问题与/ _ah/*下的registring,除了控制台之外并没有真正的多系统服务。真的不能想到任何其他的东西。无论如何,Vosao(GAE的CMS)在/ _ah /下注册了很多服务,因此有很多应用程序正在使用该路径。 – ZiglioUK 2012-08-06 11:03:38

+0

太棒了,“目标参数”看起来正是我所需要的:-) – ZiglioUK 2012-08-06 11:05:05