日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Spring Boot應用接入SchedulerX

更新時間:

本文介紹如何將Spring Boot應用快速接入SchedulerX。

方案概覽

將Spring Boot應用快速接入SchedulerX分為以下幾步:

  1. 在pom.xml增加依賴配置:添加依賴后,Spring Boot應用即可使用SchedulerX提供的功能。

  2. 配置參數:在properties或者yml中配置SchedulerXWorker所需要的參數,連接指定的SchedulerX應用。

  3. 創建任務處理類:在應用中創建一個或多個JobProcessor類,用于實現具體的任務邏輯處理,以便SchedulerX能夠對其進行調度和管理。

視頻演示

前提條件

  • (可選)已創建命名空間。具體操作,請參見創建命名空間

  • 已創建資源。具體操作,請參見創建資源

  • 已創建SpringBoot應用。

步驟一:在pom.xml增加依賴配置

在SpringBoot應用程序的pom.xml文件中添加SchedulerxWorker依賴,以便在Spring Boot應用程序中使用SchedulerX提供的功能。

說明

SchedulerX支持SpringBoot3.x版本接入。

<dependency>
  <groupId>com.aliyun.schedulerx</groupId>
  <artifactId>schedulerx2-spring-boot-starter</artifactId>
  <version>${schedulerx2.version}</version>
  <!--如果使用logback,需要將log4j和log4j2排除 -->
  <exclusions>
    <exclusion>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
    </exclusion>
    <exclusion>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </exclusion>
    <exclusion>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
    </exclusion>
  </exclusions>
</dependency>                   
說明

<version>${schedulerx2.version}</version>替換為最新客戶端版本。例如:<version>1.11.5</version>。更多信息,請參見客戶端版本發布記錄

步驟二:配置參數

在SpringBoot應用的配置文件application.properties中添加SchedulerXWorker所需要的參數,例如連接信息、認證信息等,以便連接到SchedulerX應用。

spring.schedulerx2.endpoint=${endpoint}
spring.schedulerx2.namespace=${namespace}
spring.schedulerx2.groupId=${groupId}
# 1.2.1及以上版本設置appKey
spring.schedulerx2.appKey=${appKey}

# 1.2.1以下版本設置AK/SK,開啟其他特殊配置(例如配置文件定義任務同步、Spring任務自動同步)也需要額外配置以下參數
#spring.schedulerx2.aliyunAccessKey=${aliyunAccessKey}
#spring.schedulerx2.aliyunSecretKey=${aliyunSecretKey}                  

參數來源

  1. 登錄分布式任務調度平臺,在左側導航欄的應用管理頁面,單擊目標應用操作列的接入配置,選擇接入的服務類型為Spring Boot。

    image

    重要
    • 檢查SchedulerX地域和客戶端地域是否保持一致,否則會造成建立連接失敗。

    • 若您使用的是非阿里云服務器或本地環境,確保您已開放公網訪問權限,并在任務調度平臺公網地域創建應用。具體信息,可參見在本地接入公網環境

    說明

    如果一個應用包含多個業務,或者需要將定時任務進行歸類,可以建立多個分組。例如,應用animals新建了兩個分組animals.dogsanimals.cats,此時無需申請兩批實例分別接入這兩個分組,在應用客戶端中將這兩個分組配置到groupId=后面即可,例如groupId=animals.dogs,animals.cats

  2. 示例代碼中的參數說明如下。

    • endpoint:初始化SchedulerxWorker時,將使用您部署應用的地域(Region)和對應的endpoint。更多信息,請參見Endpoint列表

    • namespace:命名空間ID,可以在控制臺的命名空間頁面獲取。1

    • groupId和appKey:groupId應用ID,appKey為應用key,可以在控制臺應用管理頁面獲取。1

    • aliyunAccessKey和aliyunSecretKey:aliyunAccessKey為阿里云賬號的AccessKeyID,aliyunSecretKey為阿里云賬號的AccessKeySecret。您可以登錄用戶信息管理控制臺,在安全信息管理頁面獲取。

其它需求請參考下表中的參數進行配置。

key

描述

設置值

起始版本

spring.schedulerx2.enabled

是否啟用SchedulerX 2.0的starter。默認為true,無需設置。

  • true

  • false

0.1.7

spring.schedulerx2.endpoint

設置Region所在的Endpoint。更多信息,請參見Endpoint列表

0.1.7

spring.schedulerx2.namespace

設置命名空間的UID,可以在控制臺命名空間頁面獲取。

0.1.7

spring.schedulerx2.groupId

應用ID,可以在控制臺應用管理頁面獲取。

0.1.7

spring.schedulerx2.appKey

應用Key,可以在控制臺應用管理頁面獲取。

1.2.1

spring.schedulerx2.host

如果有多個IP(例如VPN或者多網卡),可以設置真實的IP。

0.1.7

spring.schedulerx2.port

用戶自定義客戶端監聽端口。如果不設置,則隨機選擇一個可用端口。

0.1.7

spring.schedulerx2.blockAppStart

SchedulerX初始化失敗是否阻塞應用啟動。默認為true。

  • true

  • false

1.1.0

spring.schedulerx2.shareContainerPool

客戶端所有任務執行是否共享線程池。默認為false。

  • true

  • false

1.2.1.2

spring.schedulerx2.sharePoolSize

如果開啟共享線程池,可以自定義線程池大小。默認為64。

1.2.1.2

spring.schedulerx2.label

不同客戶端可以設置標簽,任務管理可以指定標簽執行。應用于灰度、壓測等場景。

1.2.2.2

spring.schedulerx2.enableCgroupMetrics

是否使用cgroup統計客戶端實例的指標。容器(K8s)環境需要手動開啟,默認為false。

  • true

  • false

1.2.2.2

spring.schedulerx2.cgroupPathPrefix

容器內cgroup的路徑。

默認路徑為/sys/fs/cgroup/cpu/,如果存在該路徑則不需要設置。

1.2.2.2

spring.schedulerx2.enableHeartbeatLog

是否打印心跳日志,${user.home}/logs/schedulerx/heartbeat.log

默認為true。

  • true

  • false

1.2.4

spring.schedulerx2.mapMasterStatusCheckInterval

設置Map模型檢測所有子任務結束的頻率,單位毫秒。如果秒級別任務需要加快調度頻率時,可以設置。

3000

1.2.5.2

spring.schedulerx2.enableSecondDelayCycleIntervalMs

設置second_delay延遲的單位為毫秒。如果將該值設置為true,控制臺設置的秒級別延遲將會變成毫秒,可以加快調度頻率,默認為false。

  • true

  • false

1.2.5.2

spring.schedulerx2.broadcastMasterExecEnable

主節點是否參與廣播任務執行。默認為true。

  • true

  • false

1.8.13

spring.schedulerx2.broadcastDispatchRetryTimes

廣播分發失敗重試次數,默認不重試;重試間隔默認2s,且不可配置。

3

1.8.13

spring.schedulerx2.enableSecondDelayStandaloneDispatch

是否開啟秒級別單機任務分發執行,默認為false。

  • true

  • false

1.8.13

步驟三:創建任務處理類

在SpringBoot中實現調度

在SpringBoot應用中創建JobProcessor類,實現任務調度。

下方示例代碼介紹如何定時打印一個簡單的JobProcessor類(示例包名:hello schedulerx2.0)。

package com.aliyun.schedulerx.test.job;

import com.alibaba.schedulerx.worker.domain.JobContext;
import com.alibaba.schedulerx.worker.processor.JavaProcessor;
import com.alibaba.schedulerx.worker.processor.ProcessResult;

@Component
public class MyHelloJob extends JavaProcessor {

    @Override
    public ProcessResult process(JobContext context) throws Exception {
        System.out.println("hello schedulerx2.0");
        return new ProcessResult(true);
    }
}              

結果驗證

登錄分布式任務調度平臺,在分布式任務調度平臺 > 應用管理,單擊已有/最大任務數下的已有實例,查看詳細信息。

image

說明
  • 如果實例總數為0,說明應用接入失敗。請檢查并修改本地應用。

  • 如果實例總數不為0,顯示接入實例個數,說明應用接入成功。

后續步驟

應用接入SchedulerX完成后,即可在分布式任務調度平臺創建調度任務。更多信息,請參見創建調度任務

常見問題

相關文檔

  • 如果你想了解SchedulerX相關名詞解釋,詳情請參見名詞解釋