springcloud技術棧系列4:分散式定時任務
阿新 • • 發佈:2022-04-22
問題 回答
-
xxljob支援自定義http介面來新增排程任務嗎?
.
支援的,我們基於低程式碼的實際場景,封裝成了openfeign的介面,這實際上也是一種http介面,我們封裝了兩個介面,一個用來增加和更新排程任務,一個用來修改任務的狀態,即啟用,停用,刪除; -
xxljob是否支援某個時間點固定執行的場景?
xxljob的排程任務不直接支援按照某個時間點來排程任務,只提供了CRON表示式 和固定間隔的排程型別,但是我們可以靈活的實現這個場景:你可以把你的排程時間點放在引數中,在執行器程式碼中結合該引數進行判斷,然後配置一個更密集的排程頻次,通過cron或者固定間隔;
3.線上編寫執行器指令碼是否支援指令碼語言比如python比java更合適一些?
線上編碼的語言選擇以業務需要為準,xxljob本身是支援了java,groovy,python,nodejs語言來編寫,指令碼語言的執行依賴與執行器的本地環境必須具備執行指令碼的條件,它會生成指令碼,然後執行shell指令來呼叫指令碼檔案,然後處理好入參和返回引數;
- 廣告投放場景:通過廣告API提交廣告(有返回ID),在1小時後查詢這個廣告的稽核狀態,稽核完成做一下操作,如果還在稽核中就再延後1小時查詢,廣告平臺稽核,不是我們內部稽核,不能確定稽核時長和結果。需要延時可以任意設定。
這個用延遲佇列+監聽來實現更合適一些,xxljob在這種場景使用起來不太靈活,redisson的延遲佇列實現案例可以參考一下。
視訊觀看:
原創不易,關注誠可貴,轉發價更高!轉載請註明出處,讓我們互通有無,共同進步,歡迎溝通交流。