全部产品

使用自定义参数

您可以在创建或编辑任务时添加任务执行时的自定义参数。自定义参数支持多种参数类型,这些参数会在任务执行流中向下传递。

在控制台添加自定义参数

  1. 进入 任务调度 控制台页面,选择 任务配置,进入任务配置页面:

    • 如果要在创建任务时添加参数,直接单击 添加任务

    • 如果要编辑已有任务,在列表中的对应任务行中单击 更多 > 编辑

  2. 自定义参数 栏,单击 +添加一条

  3. 输入 参数名,支持英文大小写、数字、下划线与连接符,128 字符以内。

  4. 选择 参数类型 并输入相应 参数值

    • STRING:支持通用的字符串。

    • LIST:支持字符串数组,例如:["aaa","bbb"]

    • INT:支持整型数据。

    • BOOLEAN:支持 true 或 false。

    • PLACEHOLDER:支持参数替换,目前支持的变量如下:

      • ${sharding}:替换当前分片值,配合简单任务使用。

      • ${shardingCount}:替换简单任务配置的分片数。

      • ${triggerTime}:替换预期的触发时间。自定义参数

  5. 单击 提交,任务执行时会自动使用这些参数。

动态修改自定义参数

在本地代码中,也支持设置自定义参数,您可以通过上下文 context 获取自定义参数,并覆盖。

注意

要向上下文 context 中添加自定义对象,该对象必须实现 Serializable。

public class SimpleTaskDemo implements ISimpleJobHandler {

    @Override
    public ClientCommonResult handle(JobExecuteContext context) {
       // 更具key 获取 obj
        Object obj = context.getCustomParam("intObj");

        // 获取自定义参数
        Map<String, Object> paramsMap = context.getCustomParams();
        context.putCustomParams("num", 2);
        List<String> listparam = newArrayList <>();
        listparam.add("aaaaaa");
        listparam.add("111111");
        context.putCustomParams("intparam", 111);
        context.putCustomParams("stringparam", "dfadsfad1243");
        context.putCustomParams("listparam", listparam);
        // 注意对象必须实现 Serializable
        context.putCustomParams("objectParam", newObject());
        return ClientCommonResult.buildSuccessResult();
    }

....
}

更多信息