[發明專利]基于go語言定時任務異步執行的實現方法及系統在審
| 申請號: | 202011170480.8 | 申請日: | 2020-10-28 |
| 公開(公告)號: | CN112256398A | 公開(公告)日: | 2021-01-22 |
| 發明(設計)人: | 黃善輝;張暉;高傳集;王剛 | 申請(專利權)人: | 浪潮云信息技術股份公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F9/54 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 孫園園 |
| 地址: | 250100 山東省濟南市高*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 go 語言 定時 任務 異步 執行 實現 方法 系統 | ||
1.一種基于go語言定時任務異步執行的實現方法,其特征在于,該方法是建立一個基于XXL-JOB的調度中心,對pod上報的所有定時任務進行統一調度,避免多副本應用的定時任務發生并發沖突,對依賴于同一個服務的不同副本應用的沖突任務進行調度,使副本應用能夠正常運行;副本應用將執行定時任務以及連接調度中心的go語言執行器引入,將每個副本應用pod的ip地址注冊到調度中心,將執行器以及任務執行所必要的參數傳入調度中心,由調度中心統一調度。
2.根據權利要求1所述的基于go語言定時任務異步執行的實現方法,其特征在于,所述執行器用于接收調度請求并執行任務邏輯,同時使用RPC通信接入XXL-JOB的調度中心,接收調度中心的執行請求、終止請求和日志請求。
3.根據權利要求1所述的基于go語言定時任務異步執行的實現方法,其特征在于,所述執行器提供如下接口:
func idleBeat(jobId int)Ret{}:用于返回自身的狀態;
func kill(jobId int)Ret{}:用于終止正在執行的定時任務;
func log(logDateTime,logId int64,fromLineNumint)LogResult{}:用于打印日志;
func run(param TriggerParam)Ret:用于執行定時任務;
func registry(registryParam RegistryParam);
func registryRemove(RegistryParam registryParam);
func callback(callbackParamList[]CallbackParam);
Ret,用于結構體有返回結果;
LogResult:用于日志結果;
TriggerParam:用于執行參數;
RegistryParam:用于注冊參數;
callbackParam:用于回調參數。
4.根據權利要求1-3中任一所述的基于go語言定時任務異步執行的實現方法,其特征在于,所述執行器包括,
注冊模塊,用于通過執行器使用RPC調用調度器的方法,將自己注冊到調度中心,調度中心定時發送RPC調用到執行器來進行心跳檢測;
調度模塊,用于通過調度器遠程調用run方法、在參數中有handler的name,將請求分發到handler是執行器內部邏輯實現的,執行器將請求放入線程池當中,異步執行任務;
日志服務模塊,用于通過XXL-JOB的調度中心封裝日志類XxlJobLogger,將log輸出到文件當中;調度器獲取日志時,調用RPC方法log,RPC方法從讀取文件并返回;
結果回調模塊,用于通過執行器調用RPC方法callback,將執行結果發送給調度器。
5.根據權利要求4所述的基于go語言定時任務異步執行的實現方法,其特征在于,所述結果回調模塊的工作過程如下:
(1)、執行器通過調用注冊方法,將自身pod的ip以及需要監聽的端口注冊到調度中心,通過rpc通信將配置文件中的注冊參數發送到調度中心;
(2)、將注冊方法放在線程中運行,以免影響主程序執行;
(3)、注冊完成后,同時啟動結果回調線程和日志清理線程,結果回調callback方法,即通過rpc方法將定時任務執行的結果回調給調度中心;其中,日志清理線程本身是一個定時任務,通過配置或者調度中心調控,清理歷史定時任務執行留下的日志。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮云信息技術股份公司,未經浪潮云信息技術股份公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011170480.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種高防護雙電制岸電箱
- 下一篇:一種繞線畫線上交易方法、終端及介質





