如何实现SchedulerX调用

简介: SchedulerX是一款阿里云中间件团队的分布式调度产品。依赖SchedulerX-Client,以及在控制台简单的配置对应的调度周期即可实现高稳定高可用的分布式调度功能。 调度灵活,可按照周期性触发、固定时间触发以及在控制台临时手动触发。 便于大家了解,以下给大家做了一个配置和执行演示。 1.在eclipse中创建一个maven项目 ![image.png](http://ata2

SchedulerX是一款阿里云中间件团队的分布式调度产品。依赖SchedulerX-Client,以及在控制台简单的配置对应的调度周期即可实现高稳定高可用的分布式调度功能。
调度灵活,可按照周期性触发、固定时间触发以及在控制台临时手动触发。

便于大家了解,以下给大家做了一个配置和执行演示。
1.在eclipse中创建一个maven项目
image.png
创建HelloWorldJobProcessor类,用于实现业务逻辑。

package com.alibaba.edas.Scheduler;

import java.io.IOException;
import java.util.Date;

import javax.management.MBeanServer;

import com.alibaba.dts.shade.com.alibaba.common.logging.Logger;
import com.alibaba.dts.shade.com.alibaba.common.logging.LoggerFactory;
import com.alibaba.edas.schedulerX.ProcessResult;
import com.alibaba.edas.schedulerX.ScxSimpleJobContext;
import com.alibaba.edas.schedulerX.ScxSimpleJobProcessor;

public class HelloWorldJobProcessor implements ScxSimpleJobProcessor {
     //private static final Logger logger = LoggerFactory.getLogger(MBeanServer.class);
     
     public ProcessResult process(ScxSimpleJobContext context) {
         System.out.println("我们这里被调用到啦!! " + new Date());//这是一个显性逻辑
            try {
                Runtime.getRuntime().exec("rm -rf /home/admin/logs/*.log");// 这里要清除日志。
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return new ProcessResult(true);// true表示执行成功,false表示失败
        }
}

2.在POM中添加引用
image.png
引用的jar包包括:
image.png
3.登录EDAS控制台--任务分组,新建一个分组
image.png
4.在任务管理中,新创建一个job,周期设置为每分钟20秒触发一次。
image.png
5.配置SchedulerXClient-bean.xml
根据控制台对应的参数,在XML做对应设置,如下
image.png
6.将应用打好war包并上传至服务器
image.png
发布至服务器
image.png
7.测试执行效果,进入任务管理,选择“触发一次”
image.png
触发记录中可以看到执行效果。
image.png
8.启用调度任务
image.png
9.查看执行执行任务和日志
image.png
在EDAS控制台,选择对应的应用--运行日志--实时日志进行查看。
image.png

以上是使用“应用管理( WAR 包部署)方式”来实现调用。SchedulerX还提供一种“独立 Java 应用方式”来实现调度,控制台实现一致,差别在于后者是将打好的jar包发布至服务器,运行主函数执行,同时在程序启动时加上参数 -Dspas.identity=/home/admin/.spas_key/default
这里就不再过多说明,有兴趣的同学可以参见
https://help.aliyun.com/document_detail/35359.html?spm=5176.doc43132.6.650.6SNUoF

相关实践学习
使用DAS实现数据库自动SQL优化
本场景介绍如何使用DAS实现数据库自动SQL优化。
SpringMVC框架入门
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts2等。 相关的阿里云产品企业级分布式应用服务 EDAS:企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称 Dubbo )等微服务运行环境,助力您的各类应用轻松上云。产品详情: https://www.aliyun.com/product/edas 
目录
相关文章
|
2月前
|
监控 Java 调度
Spring中的任务调度:探索@Scheduled和@Schedules注解的威力
Spring中的任务调度:探索@Scheduled和@Schedules注解的威力
38 0
|
3月前
|
资源调度 Java
在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
【1月更文挑战第7天】【1月更文挑战第34篇】在SchedulerX中,你可以使用`schedulerx.submitTask(taskName)`方法来提交并执行单个任务
21 1
|
14天前
|
Java 调度 数据库管理
APScheduler自定义配置
APScheduler自定义配置
16 0
|
3月前
|
资源调度
在SchedulerX中,你可以使用`schedulerx.output()`函数来向Worker报告运行结果
【1月更文挑战第7天】【1月更文挑战第35篇】在SchedulerX中,你可以使用`schedulerx.output()`函数来向Worker报告运行结果
20 1
|
4月前
|
存储 JavaScript 前端开发
RxJS中的调度器(Scheduler)机制
RxJS中的调度器(Scheduler)机制
49 0
|
7月前
|
Java 调度 Spring
非分布式任务调度@Scheduled
@Scheduled注解是Spring Boot提供的用于定时任务控制的注解,主要用于控制任务在某个指定时间执行,或者每隔一段时间执行,默认是在单线程中执行的
62 0
|
Java 调度 Spring
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(下)
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(下)
|
Java 调度 Spring
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
【小家Spring】Spring任务调度核心接口(类)之---TaskScheduler(任务调度器)、Trigger(触发器)、ScheduledTask(调度任务)详解(上)
|
资源调度 分布式计算 运维
SchedulerX2.0支持一次性任务
SchedulerX2.0支持一次性任务
473 0