public ProcessResult process()

in schedulerx-demo/schedulerx-example-springboot/src/main/java/com/aliyun/schedulerx/example/processor/ParallelJob.java [43:71]


    public ProcessResult process(JobContext context) throws Exception {
        if(isRootTask(context)){
            logger.info("构建并行计算的子任务列表...");
            List<ParallelAccountInfo> list = new LinkedList();
            /**
             *  判断如果是rootTask的情况下,构建并行计算子任务对象列表
             *  在实际业务场景中,用户可自行根据业务场景加载子任务对象且该业务对象实现BizSubTask接口
             *  场景案例:
             *  1、从数据库中加载未被处理的客户账户信息
             *  2、构建省份城市地区信息列表,按区域分发任务处理
             *  3、根据业务标签作为子任务分类,如:电器、日用品、食品等
             *  4、可根据时间作为子任务分类,如:按月(1月、2月...)
             */
            for(int i=0; i < 20; i++){
                list.add(new ParallelAccountInfo(i, "CUS"+StringUtils.leftPad(i+"", 4, "0"),
                        "AC"+StringUtils.leftPad(i+"", 12, "0")));
            }
            return map(list, "transfer");
        }else {
            /**
             * 非rootTask,用户可以获取对应的子任务信息进行相应的业务处理
             */
            ParallelAccountInfo obj = (ParallelAccountInfo)context.getTask();
            // 针对获取的 obj子任务信息,进行业务逻辑处理
            // do something
            logger.info("处理子任务信息:{}", JSON.toJSONString(obj));
            return new ProcessResult(true);
        }
    }