如何实现SchedulerX调用-阿里云开发者社区

开发者社区> 开发与运维> 正文

如何实现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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章