全部产品
云市场

在测试地域(Region)使用调度任务

更新时间:2018-11-20 17:35:58

本文档介绍如何在开发测试地域 (Region) 新建调度任务,并对任务进行试运行测试。

注意:开发测试地域是为方便您在开发环境中进行任务调度测试,并不提供稳定性和安全性保证。请在测试结束后,删除 Job 配置并将 Job 迁移到正式地域中。

创建 Job

  1. 登录 EDAS 控制台,在左侧导航栏中选择任务管理 > 分组管理

  2. 在任务分组页面中选择地域,再选择某个分组

    或者单击新建分组,创建一个新的分组。

    注意

    • 如果用于测试,通过开发环境(没有 ECS)连接 SchedulerX 时,需要选择测试地域。
    • 如果用于正式使用时,则只能通过该地域内的 ECS 连接。
  3. 在任务管理页面右上角单击新建 Job

    注意:要在某个地域下新建 job,则该地域下必须存在分组。

    此处在 schedulerxTestGroup 分组的测试地域中建立了一个每30秒触发一次,Job 处理器实现类为 com.schedulerx.test.ExecuteShellJobProcessor 的 Job,具体参数解释可参考创建 Job

在工程中编写代码

  1. 在工程文件 pom.xml 中增加下面依赖:

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.edas</groupId>
    4. <artifactId>schedulerX-client</artifactId>
    5. <version>1.6.6</version>
    6. </dependency>
    7. </dependencies>
  2. 初使化 SchedulerX-Client。

    • 第一种方法:

      1. public class SchedulerxTestMain {
      2. private static final Log logger = LogFactory.getLog(SchedulerxTestMain.class);
      3. public static void main(String[] args) {
      4. SchedulerXClient schedulerXClient = new SchedulerXClient();
      5. schedulerXClient.setGroupId("101-1-1-77");
      6. schedulerXClient.setRegionName("cn-test");
      7. try {
      8. schedulerXClient.init();
      9. } catch (Throwable e) {
      10. e.printStackTrace();
      11. }
      12. }
      13. }
    • 第二种方法(通过 Spring 方式):

      1. <?xml version="1.0" encoding="UTF-8"?>
      2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd">
      3. <beans>
      4. <bean id="schedulerXClient" class="com.alibaba.edas.schedulerX.SchedulerXClient" init-method="init">
      5. <property name="groupId">
      6. <value>101-1-1-77</value>
      7. </property>
      8. <property name="regionName">
      9. <value>cn-test</value>
      10. </property>
      11. </bean>
      12. </beans>

    上面两种方式中都需要将分组 ID(GroupId)和地域名称(regionName)替换为您实际使用的值。

  3. 编写 Job 处理器接口。

    注意:Job 处理器要实现接口 ScxSimpleJobProcessor,并且要与在页面创建 Job 时填写的 Job 处理器接口名称对应上。

    1. package com.schedulerx.test;
    2. import java.util.Date
    3. public class ExecuteShellJobProcessor implements ScxSimpleJobProcessor {
    4. public ProcessResult process(ScxSimpleJobContext context) {
    5. System.out.printIn("Hello World") +new Date());
    6. return new ProcessResult(true);//true 表示执行成功,false 表示失败
    7. }
    8. }

    9

运行测试

  1. 在本地创建一个文本文件,如 dauthkey.txt,在该文件中添加 SchedulerX (实际为 EDAS)的 Access Key ID 和 Access Key Secret。然后将该文件路径和文件名设为为测试程序的运行参数。

    • Linux:-Dspas.identity=D:/test-data/dauth/dauthkey
    • Windows:-Dspas.identity=D:\test-data\dauth\dauthkey

    文件内容格式如下:

    1. accessKey=123456
    2. secretKey=123456

    配置运行参数

  2. 设置好参数后运行程序,每 5 秒钟会接收到一次 Job 触发,输出处理器逻辑中打印的信息。

    12