2013-08-05 50 views
1

我试图在App Engine中设置一个通过云端点方法执行GET请求的cron作业。cron.xml中的云端点URL App Engine

我与@API注释

@ApiMethod(name = "cron.test", path="cron/test", httpMethod = HttpMethod.GET) 
public void testCron() { 
    ... // do something 
} 

在cron.xml我设置创建GET方法中的端点类:

<cronentries> 
<cron> 
    <url>/_ah/api/MYAPI/v1/cron/test</url> 
    <description>Send nightly reports.</description> 
    <schedule>every 1 minutes</schedule> 
    <timezone>America/Los_Angeles</timezone> 
</cron> 
</cronentries> 
在App Engine管理员

Cron作业视图面板显示cron试图执行但失败。我究竟做错了什么?端点方法的URL是否错误?

回答

1

/_ah/api下的网址不属于您的应用程序,它们归Google的API基础架构所有,因此您的应用程序将不会收到这些请求。

有几件事情要考虑:

  • 摘要的行为变成一个辅助方法,并呼吁在你的cron处理程序
  • 使用你定义直接

PS在/_ah/spi处理程序未来,将日志中的任何错误包括在内,或者您没有看到任何错误(由于上述原因,这几乎肯定会成为现实)会很有帮助。

+0

bossylobster,你可以给一些来自cron的调用端点方法的示例吗? –

相关问题