我使用Google App引擎和Endpoints API开发了后端。 其中一个Api方法是一个应该每X小时运行一次的工作并做一些合乎逻辑的工作。
我的问题是如何使用Cron Job调用此api方法。
我知道Api方法的URL,我甚至成功使用浏览器给她打电话。 但是当我尝试使用cron作业调用它时,作业失败并显示404错误代码。
这里是cron.xml:
<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
<cron>
<url>/_ah/api/meetingMatchingEndpoint/v1/matchingProcess</url>
<description>Matching process</description>
<schedule>every 1 minutes</schedule>
</cron>
</cronentries>
当我尝试从浏览器中调用它并成功时,我写了完整的URL:
https://acadden-motif-344.appspot.com/_ah/api/meetingMatchingEndpoint/v1/matchingProcess
答案 0 :(得分:2)
Google Cloud Endpoints的架构方式使您可以为实际代码提供设计良好的REST层。
话虽如此,我认为既然Cron Job也在同一个应用程序中运行,理想情况下你应该不通过调用REST API URL的路径。相反,您应该通过精心设计的Java类直接调用您的功能,这些Java类封装了您要调用的功能。
答案 1 :(得分:0)
您无法在framepersecond:float
中指定以/_ah/api
开头的网址,因为它们不会直接驻留在您的应用中,而是属于Google的API基础架构,因此会调用API不要来你的申请,所以你的申请不会收到这些请求。
解决方法:
在servlet中复制API的行为可能是并注册 在你的cron.xml文件中。