日常生活中,相信大家都有這樣的經歷:其它人不記得你的生日,唯獨銀行和移動等平臺會記得你的生日。不要認為它們真的會記得你的生日,這一切都是IT系統的定時任務自動觸發的操作。
定時任務其實是一種服務,基於定時任務服務可以定期觸發我們設定的一些後臺任務,比如:定時傳送簡訊、定時備份檔案、定時清理電腦垃圾、定時關機等等。
不要覺得定時任務技術很高深,其實本質上就是以特定時間段來定時輪循執行我們預設的任務。
我們說定時任務是一種服務,它有很多種的技術實現,下面整理出最為常見的幾種實現方案供大家參考。
1)伺服器端實現
任何一款伺服器系統都自帶有定時任務服務,比如:
Linux系統:Crontab
Windows系統:Windows計劃任務
2)程式語言實現
除了伺服器端的定時任務外,還可以透過各類程式語言來輪詢實現定時任務的功能,於是也有了一些專業的定時任務框架,如:Quartz、Elastic-job、Hangfire等。
3)雲計算平臺提供的雲端計劃任務
現在雲計算也是很普及的,各類雲計算廠商也提供了線上計劃任務管理,比如阿里雲的線上計劃任務就支援Cron表示式。
透過上面的介紹我們都知道定時任務的實現方案有很多,但在現實中我們建議還是基於伺服器端來實現定時任務,這樣效能會更好一些。
同時建議具體的業務操作以Web API 的形式展現,然後定時任務去請求此Web API即可。
日常生活中,相信大家都有這樣的經歷:其它人不記得你的生日,唯獨銀行和移動等平臺會記得你的生日。不要認為它們真的會記得你的生日,這一切都是IT系統的定時任務自動觸發的操作。
什麼是定時任務?定時任務其實是一種服務,基於定時任務服務可以定期觸發我們設定的一些後臺任務,比如:定時傳送簡訊、定時備份檔案、定時清理電腦垃圾、定時關機等等。
不要覺得定時任務技術很高深,其實本質上就是以特定時間段來定時輪循執行我們預設的任務。
定時任務的實現方案我們說定時任務是一種服務,它有很多種的技術實現,下面整理出最為常見的幾種實現方案供大家參考。
1)伺服器端實現
任何一款伺服器系統都自帶有定時任務服務,比如:
Linux系統:Crontab
Windows系統:Windows計劃任務
2)程式語言實現
除了伺服器端的定時任務外,還可以透過各類程式語言來輪詢實現定時任務的功能,於是也有了一些專業的定時任務框架,如:Quartz、Elastic-job、Hangfire等。
3)雲計算平臺提供的雲端計劃任務
現在雲計算也是很普及的,各類雲計算廠商也提供了線上計劃任務管理,比如阿里雲的線上計劃任務就支援Cron表示式。
定時任務觸發的最佳實踐透過上面的介紹我們都知道定時任務的實現方案有很多,但在現實中我們建議還是基於伺服器端來實現定時任務,這樣效能會更好一些。
同時建議具體的業務操作以Web API 的形式展現,然後定時任務去請求此Web API即可。