• 调度执行器


    组件编码 hzero-boot-scheduler

    一、简介

    1.1 概述

    调度服务客户端,配合调度服务使用,主要负责调度任务的具体执行,包括任务定义、日志回写、自动注册等功能。

    1.2 组件坐标

    <dependency>
        <groupId>org.hzero.boot</groupId>
        <artifactId>hzero-boot-scheduler</artifactId>
        <version>${hzero.boot.version}</version>
    </dependency>
    

    1.3 功能特性

    二、使用说明

    2.1 配置说明

    服务需要注册为执行器,pom中添加依赖该客户端,添加yml文件配置声明执行器编码,多个执行器编码使用逗号隔开

    **注意:**执行器编码只能使用大写字母、数字、中划线、下划线、点

    hzero:
      scheduler:
        executor-code: XXX_EXECUTOR,XX_EXECUTOR
    

    客户端的自动注册功能是默认开启的,可以通过配置来关闭

    hzero:
      scheduler:
        auto-register: false
    

    客户端向服务自动注册的IP和端口都是自动读取的,若IP读取的不对,可以手动指定注册的IP

    hzero:
      scheduler:
        address: 192.168.XX.XXX
    

    调度任务产生的日志,默认会上传到文件服务。若不使用文件服务存储日志文件,可以使用该配置关闭上传功能,日志会存储在日志表中,长度限制2000

    hzero:
      scheduler:
        upload-log: false
    

    2.2 任务的具体实现

    任务定义需要实现org.hzero.boot.scheduler.infra.handler.IJobHandler接口,重写execute方法。同时类需要添加注解声明jobHandler。

    /**
     * 示例任务
     */
    @JobHandler("demo")
    public class DemoJob implements IJobHandler {
    
        @Override
        public ReturnT execute(Map<String, String> map, SchedulerTool tool) {
            // 刷新任务进度及描述
            tool.updateProgress(50, "任务执行中...");
            // 任务日志记录
            tool.info("示例任务执行成功!");
            return ReturnT.SUCCESS;
        }
    }
    

    execute方法的两个参数,map是任务创建时传递来的json格式的参数。tool中提供了任务的一些操作方法,下面会详细说明。

    三、定制化开发

    四、版本更新日志

    版本 0.8.0.RELEASE [2019-02-15]

    版本 0.10.0.RELEASE [2019-06-23]

    版本 1.0.0.RELEASE [2019-09-06]

    展望