EOS Low-Code Platform 8 EOS Low-Code Platform 8
  • 8.3.2 (opens new window)
  • 8.3.1 (opens new window)
  • 8.3LA1 (opens new window)
  • 8.2GA (opens new window)
产品简介
学习指南
更新说明
安装与集成
初见EOS
低代码开发手册
专业代码开发手册
专题场景实战
公共服务框架
应用运行治理
升级手册
常见问题
  • 任务调度-BEAN模式
  • 1.场景介绍
  • 2.效果展示
  • 3.实现思路
  • 4.操作步骤
  • 4.1 应用调度执行器配置
  • 4.2 新建执行器
  • 4.3 任务管理

# 任务调度-BEAN模式

# 1.场景介绍

以BEAN运行模式为例,讲解任务调度的配置与使用。

# 2.效果展示

执行器启动后,执行逻辑流,查看执行情况,如下图:

# 3.实现思路

以AFCenter应用为例,讲解如何将应用作为调度中心和执行器,配置执行器、设置调度任务,触发任务定时执行。

# 4.操作步骤

# 4.1 应用调度执行器配置

在EOS Low-Code Platform8安装路径\server\afcenter\config\application-job.properties中修改新增配置,如下:

# 调度中心配置
afc.job.admin.enabled=false
#执行器token,非空时启用 xxl-job, access token
#xxl.job.accessToken=default_token
# executor配置
### xxl-job, access token
afc.job.executor.enabled=true
afc.job.executor.accessToken=default_token
#调度中心部署地址,多个配置逗号分隔 "http://address01,http://address02"
afc.job.executor.address=http://192.168.17.32:9998/
#地址信息用于 "执行器注册" 和 "调度中心请求并触发任务"
afc.job.executor.ip=192.168.17.32
#执行器端口号:小于等于0则自动获取;默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口
afc.job.executor.port=9998
#执行器日志文件存储路径,需要对该路径拥有读写权限;为空则使用默认路径
afc.job.executor.logPath=
#执行器日志保存天数
afc.job.executor.logRetentionDays=30

# 4.2 新建执行器

创建模式分为应用、自定义两种模式, 若创建模式选择应用,下拉选择应用; 若创建模式选择自定义,输入执行器编码、执行器名称,注册方式选择自动注册,即执行器配置中地址保存,可查看在线机器地址。

# 4.3 任务管理

# 4.3.1 JobHandler示例

本示例运行模式以BEAN模式为例,故编写JobHandler示例代码

import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.context.XxlJobHelper;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
 * 定时器任务
 */
@Slf4j
@Component
public class TimedTaskJobHandler {
    @Autowired(required = false)
    private List<EveryDayExecute> everyDayExecutes;
 
    /**
     * 每日任务
     *
     * @throws Exception
     */
    @XxlJob("everyDayExecuteJobHandler")
    public ReturnT<String> everyDayExecuteJobHandler(String param) {
 
    	log.info("每日任务执行");
        XxlJobHelper.log("XXL-JOB,每日任务执行.");
        if (everyDayExecutes == null || everyDayExecutes.size() == 0) {
            return ReturnT.SUCCESS;
        }
 
        for (int i = 0; i < everyDayExecutes.size(); i++) {
            try {
                everyDayExecutes.get(i).execute();
            } catch (Exception e) {
            
				log.error("每分钟任务异常", e);
            }
        }
        return ReturnT.SUCCESS;
    }
 
}

# 4.3.2 新建任务

执行器选择EOS8-DEMO-APP,任务名称逻辑流执行(自定义),调度类型为CRON,运行模式为BEAN,JobHandler选择上一步开发的“everyDayExecuteJobHandler”

启动定时任务,查询日志查看启动状态。

← 任务调度-逻辑流模式 定时清理EOS项目告警日志 →