定時任務的使用

2021-08-31 16:11:20 字數 681 閱讀 4148

背景:一說到定時任務,就是在指定的時間觸發。目前可以使用quartz來實現,如果專案使用spring,也可以使用spring的整合定時任務。如果你的專案就一台伺服器,那沒問題,如果是多個應用服務端,那定時任務在每個機器都會執行。因此在分布式情況下,觸發乙個定時任務,多個機器可以併發的執行任務,完成乙個任務。 可以考慮使用 資料分割,資料撈取,任務執行的思想,充分利用集群的資源去執行。

如果乙個系統有5中不同的業務定時任務,是不是可以考慮使用乙個定時任務,統一管理所有的業務任務

因此:可以建立乙個資料表,就表示任務表,任務id,任務型別,任務優先順序,業務id,業務型別、業務結果、業務申請執行時間,業務最近一次執行開始時間,業務最近一次執行結束時間,任務最大執行數、任務已經執行次數,等一些屬性。專門用於管理任務。

這個任務表可以提供乙個服務,service。包括建立任務、開始執行任務,結束任務

在提供管理任務的類,manager,包括觸發任務

最終的效果就是,在業務**中,比如a系統呼叫b系統失敗,然後呼叫service落資料庫任務,然後定時任務到時間了,觸發定時任務,呼叫manager觸發定時任務,manger這針對不同的因為業務任務可以統一的處理,同時呼叫service 進行任務的管理。不同業務的處理,可以使用執行緒池來執行,由於不同業務的不同,可以考慮使用多個執行緒池,針對不同的業務。注意如果多個業務使用同乙個執行緒池,可能出現死鎖的情況,因此使用執行緒池要慎重。

使用定時任務

5.1作業排程介紹 program execution of jobs.作業排程是用於控制作業執行的後台程式 通過使用作業排程可以幫助我們完成,郵件定時傳送 報表定時統計 資料採集等工作 matrix 整合 quartz 定時任務框架,可以在 matrix 中直接使用 quartz。在使用 quar...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...

定時任務使用

1.我本地字符集異常,導致開啟定時任務亂碼 bash warning setlocale lc ctype cannot change locale utf 8 no such file or directory 因為我終端為zsh,所以需要 vim zshrc 設定字符集 export lc al...