[发明专利]基于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.vipzhuanli.com/pat/books/202011170480.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种高防护双电制岸电箱
- 下一篇:一种绕线画线上交易方法、终端及介质





