[英]Use Cron jobs with Appengine Endpoints API
我使用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
Google Cloud Endpoints的架構方式使您可以為實際代碼提供設計良好的REST層。
話雖如此,我認為既然Cron Job也在同一個應用程序中運行,理想情況下你應該不通過調用REST API URL的路徑。 相反,您應該通過精心設計的Java類直接調用您的功能,這些Java類封裝了您要調用的功能。
您不能在cron.xml
指定以/_ah/api
cron.xml
因為它們不直接駐留在您的應用程序中,而是它們是Google API基礎結構的一部分,因此調用API不會到您的應用程序,因此您的應用程序不會收到這些要求。
解決方法:
在servlet中復制API的行為可能並在cron.xml文件中注冊它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.