美文网首页
spring-cloud分布式任务调度

spring-cloud分布式任务调度

作者: 轻舞凋零 | 来源:发表于2022-10-08 12:09 被阅读0次

xxl-job的使用

1 配置服务

按照调度器

https://www.xuxueli.com/xxl-job/#2.1%20%E5%88%9D%E5%A7%8B%E5%8C%96%E2%80%9C%E8%B0%83%E5%BA%A6%E6%95%B0%E6%8D%AE%E5%BA%93%E2%80%9D

  1. 运行服务
  2. 配置执行器
  3. 配置bean

2 运行服务

    <dependency>
            <groupId>com.xuxueli</groupId>
            <artifactId>xxl-job-core</artifactId>
            <version>${xxl-job-core.verion}</version>
        </dependency>

配置
···
@Configuration
public class XxlJobConfig {
private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);

@Value("${xxl.job.admin.addresses}")
private String adminAddresses;

@Value("${xxl.job.accessToken}")
private String accessToken;

@Value("${xxl.job.executor.appname}")
private String appname;

@Value("${xxl.job.executor.address}")
private String address;

@Value("${xxl.job.executor.ip}")
private String ip;

@Value("${xxl.job.executor.port}")
private int port;

@Value("${xxl.job.executor.logpath}")
private String logPath;

@Value("${xxl.job.executor.logretentiondays}")
private int logRetentionDays;


@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
    logger.info(">>>>>>>>>>> xxl-job config init.");
    XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();
    xxlJobSpringExecutor.setAdminAddresses(adminAddresses);
    xxlJobSpringExecutor.setAppname(appname);
    xxlJobSpringExecutor.setAddress(address);
    xxlJobSpringExecutor.setIp(ip);
    xxlJobSpringExecutor.setPort(port);
    xxlJobSpringExecutor.setAccessToken(accessToken);
    xxlJobSpringExecutor.setLogPath(logPath);
    xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);
    return xxlJobSpringExecutor;
}

}
···

定时任务

@Data
@Slf4j
@Component
public class XxlCron {

    private static final String FORMAT_STR_TIME = "yyyy-MM-dd HH:mm:ss";

    private String currentTime = "";


    public static String getCurrentDateSimpleTpl() {
        return getCurrentDateSimpleTpl(FORMAT_STR_TIME, System.currentTimeMillis()/1000);
    }

    private static String getCurrentDateSimpleTpl(String tpl, long timestamp) {
        LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(timestamp, 0, ZoneOffset.ofHours(8));
        DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern(tpl);
        return localDateTime.format(formatter2);
    }




    @XxlJob("testRunXxl")
    public ReturnT<String> execute() {
        XxlJobHelper.log("XXL-JOB testRunXxl start");

        String currentTime = getCurrentDateSimpleTpl();

        log.info("currentTime:"+currentTime);
        this.currentTime = currentTime;
        return ReturnT.SUCCESS;
    }
}

调用服务代码

@Slf4j
@Api(tags={"用户接口"})
@RestController
public class UserController {


    @Autowired
    XxlCron xxlCron;


    @GetMapping("/info")
    public String configInfo2() {
        return xxlCron.getCurrentTime();
    }


}

运行服务
http://127.0.0.1:7190/info

相关文章

  • spring-cloud分布式任务调度

    xxl-job的使用 1 配置服务 按照调度器 https://www.xuxueli.com/xxl-job/#...

  • 对分布式任务调度的理解

    1.什么是分布式任务调度 分布式任务调度就是在分布式环境下,定时任务的管理与执行 2.分布式任务调度的特性 分布式...

  • 分布式任务调度 SchedulerX

    参考文档: 为应用实现任务调度(EDAS 部署) 什么是分布式任务调度SchedulerX?分布式任务调度Sche...

  • Java高级工程师

    Elastic Job 分布式任务调度 Quartz 任务调度 RocketMQ RabbitMQ Acti...

  • xxl-job分布式调度入门

    1.什么是分布式调度分布式调度==》分布式 + 调度中心 + 执行器,调度中心根据对应任务执行条件去分布式的执行任...

  • 调度平台

    分布式调度平台 刚进公司,老板就让我做分布式任务调度的技术选型

  • 实战_资讯推荐场景中多路召回实践01

    召回服务框架 任务调度平台 主流的任务调度框架airflow airflow是一款开源的,分布式任务调度框架,它将...

  • 谈谈对分布式调度的理解

    文 平哥 | 20200519 分布式调度是什么? 调度:指的是定时任务分布式调度:指的就是在分布式集群环境下的...

  • # Schedulerx正式登陆Ali-k8s应用目录

    简介 分布式任务调度 SchedulerX 是阿里巴巴基于 Akka 架构自研的的分布式任务调度平台,今天正式登陆...

  • 思考--xxl-job简单的记录

    为何选择xxl-job这个任务调度框架? xxl-job 首先采用分布式任务调度框架,可以进行分布式部署, xxl...

网友评论

      本文标题:spring-cloud分布式任务调度

      本文链接:https://www.haomeiwen.com/subject/agklirtx.html