我有一個應用程序必須重複啓動作業。但是(是的,如果沒有這個,那會很容易......)我希望用戶在應用程序中定義他們的備份頻率。如何在用戶的應用程序中定義作業的頻率?
在最壞的情況下,他們將不得不選擇之間:
- 每週,每天
- ,
- 每12小時,
- 每6小時一次,
- 每小時
在最好的情況下,他們應該能夠使用crontab表達式(例如documentation)
如何做到這一點?我是否每分鐘都會啓動一項檢查上次執行時間和頻率的工作,然後在需要時啓動另一項工作?我是否創建了一個將由masterjob執行的隊列?
歡迎任何線索,想法,意見,最佳實踐,經驗!
編輯:解決了這個問題,使用Akka調度。好的,這是一個技術解決方案,不是設計答案,但仍然是一切都很好。
每個用戶定義的重複是一個演員,每個週期發送消息給新的演員執行實際的作業。
是的,的確,源碼在很多場合都是幫手,我會再次深入檢查這些東西。不知道scheduleForCron!謝謝;) –
我檢查了scheduleForCron,它從類文件中讀取註釋。在我的情況下,這不是一個解決方案。 –
我並不是說你可以直接使用'JobPlugin.scheduleForCRON()',但應該可以將代碼轉移到你的應用程序中。 – niels