簡體   English   中英

將Cron作業與Appengine Endpoints API一起使用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM