cron.xml应用程序引擎中的云端点URL

cron.xml应用程序引擎中的云端点URL,cron,google-cloud-endpoints,Cron,Google Cloud Endpoints,我正在尝试在appengine中设置一个cron作业,通过云端点方法执行GET请求 我已经在一个端点类中使用@API注释创建了GET方法 @ApiMethod(name = "cron.test", path="cron/test", httpMethod = HttpMethod.GET) public void testCron() { ... // do something } 在cron.xml中,我设置了: <cronentries> <cron>

我正在尝试在appengine中设置一个cron作业,通过云端点方法执行GET请求

我已经在一个端点类中使用@API注释创建了GET方法

@ApiMethod(name = "cron.test", path="cron/test", httpMethod = HttpMethod.GET)
public void testCron() {
    ... // do something
}
在cron.xml中,我设置了:

<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>

/_ah/api/MYAPI/v1/cron/test
发送夜间报告。
每1分钟
美国/洛杉矶

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

应用程序不拥有
/\u ah/api
下的URL,它们属于Google的api基础设施,因此应用程序不会收到这些请求

需要考虑的几件事:

  • 将该行为抽象为一个helper方法,并在cron处理程序中调用该方法
  • 使用您直接定义的
    /\u ah/spi
    处理程序

PS在将来,如果您的日志中包含了您没有看到的任何错误(由于上面提到的原因,这里几乎肯定会是这样),这将是很有帮助的。

/\u ah/api
下的URL不归您的应用程序所有,它们归Google的api基础设施所有,因此,您的应用程序将不会收到这些请求

需要考虑的几件事:

  • 将该行为抽象为一个helper方法,并在cron处理程序中调用该方法
  • 使用您直接定义的
    /\u ah/spi
    处理程序

PS在将来,还应该包括日志中的任何错误,无论您是否看到任何错误(由于上面提到的原因,这里几乎肯定会是这样)。

bossylobster,您能给出一些从cron调用端点方法的示例吗?bossylobster,您能给出一些从cron调用端点方法的示例吗?