簡體   English   中英

如何在Google App Engine(Java)中設置復雜的自定義crontab?

[英]How to set a complex custom crontab in google-app-engine (java)?

我正在構建一個我需要為其設置cron作業的應用程序。 我想要做的是在一個小時內設置應該運行特定任務的特定分鍾。 例如:

  • 每小時1分鍾的Task1
  • 每小時的第二分鍾執行Task2
  • 僅在下半小時每2分鍾才執行Task3

以標准Unix cron格式構建此代碼相當簡單,但無法弄清楚如何在Google-App-Engine中執行此操作。

文檔未列出任何重要的示例。 有什么建議嗎? 例子將是極好的。

您鏈接到的文檔似乎表明,僅使用Cron for Java無法完成您想做的事情(除非他們具有未記錄的功能)。 特別是這似乎不允許多次。

time指定一天中的時間,以24小時制中的HH:MM表示。

Python版本說的完全一樣。

但是,一種解決方案(盡管在CPU使用方面要貴一些)會每分鍾調用一次URL,然后從該URL的處理程序中分發給您需要的任何其他調用。

換句話說,類似:

<?xml version="1.0" encoding="UTF-8"?>
<cronentries>
  <cron>
    <url>/run-scheduled-tasks</url>
    <description>Run all scheduled tasks</description>
    <schedule>every 1 minutes</schedule>
  </cron>
</cronentries>

然后在運行計划的任務中,檢查數據庫以了解每個任務的上次運行時間,以及自那時以來是否發生了觸發它們的復雜條件。

如果文檔正確,您將無法獲得所需的詳細信息。 看起來他們不支持選擇每小時的特定時間。 或一個小時的子集。

您可能需要發揮創造力。 為什么需要這樣的特定時間?

這似乎很愚蠢。 寫三個servlet。 並從世界另一端的另一台UNIX機器上調度它們:D。 甚至您也可以編寫一個Java應用程序來實現。 請享用

看看Quartz ,看看是否能解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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