The invention discloses a method and a system for executing a target task. The method includes: acquiring the target task, in which the target task is configured with multiple execution steps, each execution step is associated with the target script, or with the function in the target script; sending the target task to the target execution machines of multiple distributed execution machines to perform the said target task; acquiring execution; Logs and execution results. The invention solves the technical problem that in the process of system development, the task can not be performed step by step due to the serious coupling of single task, and the execution efficiency and reuse efficiency of the task are low.
【技术实现步骤摘要】
目标任务的执行方法及系统
本专利技术涉及软件系统集成领域,具体而言,涉及一种目标任务的执行方法及系统。
技术介绍
在计算机软件开发的过程中,一个大型的计算机软件通常由多个人或者多个部门合作完成。为了节省人力,提高生产效率,软件开发中的很多流程和过程,往往需要借助第三方工具软件来完成。例如集成、构建、测试与回归测试往往使用.sh脚本,python脚本等工具将一些常用指令写成一个命令集,然后使用crontab或者jenkins等第三方工具来触发这些脚本的执行。虽然使用crontab定时触发这些脚本,一定程度上能够实现这些脚本的自动化运行。但是crontab只能定时触发这些脚本,不能够按需(需要执行时就执行)来执行。例如当新的软件功能开发完成后,有时候需要立刻打包与构建整个工程,crontab并不具有该功能,只能在设定的时刻才会触发执行。并且使用crontab的时候,当脚本执行出错时,出错的日志信息不能直观输出和查看,需要输出或者重定向到文件才能查阅。当构建或者执行出错时,排查问题需要浪费大量的人力。另一方面,对于Jenkins等持续集成软件,虽然可以将.sh脚本或者python直接挂载在平台上,脚本输出的log也可以在平台上查看,提供各种触发方式,但是jenkins对于脚本的支持是文件级的,只能运行整个文件来完成构建任务。通常我们在系统开发过程中,由于任务的集合特性,使得在执行任务时,任务的耦合性较为严重,导致无法分步骤执行任务,使得任务的执行效率和重用效率较低。另外,当前在系统执行任务时,可能需要多台机器配合完成,这样就需要将任务分布式部署在不同的机器上,但 ...
【技术保护点】
1.一种目标任务的执行方法,其特征在于,包括:获取目标任务,其中,所述目标任务中配置有多个执行步骤,每个所述执行步骤与目标脚本关联,或者与所述目标脚本中的函数相关联;将所述目标任务发送至多台分布式执行机的目标执行机以执行所述目标任务;获取执行日志和执行结果。
【技术特征摘要】
1.一种目标任务的执行方法,其特征在于,包括:获取目标任务,其中,所述目标任务中配置有多个执行步骤,每个所述执行步骤与目标脚本关联,或者与所述目标脚本中的函数相关联;将所述目标任务发送至多台分布式执行机的目标执行机以执行所述目标任务;获取执行日志和执行结果。2.根据权利要求1所述的执行方法,其特征在于,获取目标任务包括:获取所述目标任务的任务参数,其中,任务参数至少包括下述之一:执行信息、触发方式、执行时间、通知方式、目标通知人信息,其中,所述执行信息对应于所述多个执行步骤。3.根据权利要求2所述的执行方法,其特征在于,所述通知方式至少包括:弹窗通知、插件通知。4.根据权利要求2所述的执行方法,其特征在于,所述触发方式包括下述至少之一:挂钩hook触发、手动触发、定时触发,其中,所述hook触发为根据携带有所述目标任务的标识ID的链接信息,触发执行所述目标任务,所述手动触发为接收用户对图形用户界面中控件的操作来触发执行所述目标任务,所述定时触发为设置目标时间间隔来定时触发执行所述目标任务。5.根据权利要求2所述的执行方法,其特征在于,将所述目标任务发送至多台分布式执行机的目标执行机以执行所述目标任务包括:根据所述任务参数,将所述目标任务分发至所述目标执行机中。6.根据权利要求1所述的执行方法,其特征在于,所述执行方法还包括:根据用户上传的文件包,确定所述目标脚本。7.根据权利要求1所述的执行方法,其特征在于,获取目标任务包括:获取所述目标任务中每个执行步骤的执行顺序和运行方式,其中,所述运行方式至少包括下述之一:并行运行方式和串行运行方式;接收每个目标脚本中的配置参数和关键字参数,其中,所述配置参数为每个执行步骤的执行参数,所述关键字参数存储执行步骤所对应的执行结果;根据所述配置参数和所述关键字参数,每个所述执行步骤关联所述目标脚本或者所述目标脚本中的函数。8.根据权利要求1所述的执行方法,其特征在于,还包括:判断所述目标执行机是否为管理机;若所述目标执行机为管理机,检测是否存在上传的新目标脚本,若检测到存在上传的新目标脚本,将所述新目标脚本推送至所述多台分布式执行机的每个分布式执行机中;若所述目标执行机不是管理机,在预定间隔时长后从所述管理机中提取新上传的目标脚本。9.根据权利要求1所述的执行方法,其特征在于,在获取执行日志和执行结果之后,还包括:获取所述目标脚本的脚本插件;根据所述脚本插件,通过预设输出方式输出所述执行日志和/或所述执行结果,其中,所述预设输出方式至少包括:图形化输出方式和表格化输出方式,其中,若所述预设输出方式为所述图形化输出方式时,通过至少一个图形用户...
【专利技术属性】
技术研发人员:郑重,李萌,高健,董芯萌,谷稳稳,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。