全部产品
云市场

使用自定义参数

更新时间:2020-05-21 16:17:37

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

在控制台添加自定义参数

  1. 进入 任务调度 控制台页面,选择 任务配置,进入任务配置页面:
    • 如果要在创建任务时添加参数,直接点击 添加任务
    • 如果要编辑已有任务,在列表中的对应任务行中点击 更多 > 编辑
  2. 自定义参数 栏,点击 +添加一条
  3. 输入 参数名,支持英文大小写、数字、下划线与连接符,128 字符以内。
  4. 选择 参数类型 并输入相应 参数值
    • STRING:支持通用的字符串。
    • LIST:支持字符串数组,例如:["aaa","bbb"]
    • INT:支持整型数据。
    • BOOLEAN:支持 true 或 false。
    • PLACEHOLDER:支持参数替换,目前支持的变量如下:
      • ${sharding}:替换当前分片值,配合简单任务使用。
      • ${shardingCount}:替换简单任务配置的分片数。
      • ${triggerTime}:替换预期的触发时间。
        自定义参数
  5. 点击 提交,任务执行时会自动使用这些参数。

动态修改自定义参数

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

注意:要向上下文 context 中添加自定义对象,该对象必须实现 Serializable。
  1. public class SimpleTaskDemo implements ISimpleJobHandler {
  2. @Override
  3. public ClientCommonResult handle(JobExecuteContext context) {
  4. // 更具key 获取 obj
  5. Object obj = context.getCustomParam("intObj");
  6. // 获取自定义参数
  7. Map<String, Object> paramsMap = context.getCustomParams();
  8. context.putCustomParams("num", 2);
  9. List<String> listparam = new ArrayList<>();
  10. listparam.add("aaaaaa");
  11. listparam.add("111111");
  12. context.putCustomParams("intparam", 111);
  13. context.putCustomParams("stringparam", "dfadsfad1243");
  14. context.putCustomParams("listparam", listparam);
  15. // 注意对象必须实现 Serializable
  16. context.putCustomParams("objectParam", new Object());
  17. return ClientCommonResult.buildSuccessResult();
  18. }
  19. ....
  20. }

更多信息