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

XxlJob任務(wù)

更新時間:

SchedulerX 2.0兼容XXL-JOB任務(wù)接口,支持@XxlJob新注解和@JobHandler老注解方式,您不需要修改代碼,即可將XXL-JOB任務(wù)在SchedulerX 2.0平臺上進行調(diào)度。

背景信息

XXL-JOB是一個開箱即用的輕量級分布式任務(wù)調(diào)度系統(tǒng),其核心設(shè)計目標(biāo)是開發(fā)迅速、學(xué)習(xí)簡單、輕量級、易擴展,在開源社區(qū)廣泛流行,已在多家公司投入使用。XXL-JOB開源協(xié)議采用的是GPL,因此云廠商無法直接商業(yè)化托管該產(chǎn)品,各大中小企業(yè)需要自建,增加了學(xué)習(xí)成本、機器成本、人工運維成本。阿里巴巴商業(yè)化任務(wù)調(diào)度平臺SchedulerX 2.0兼容XXL-JOB任務(wù)接口,您不需要修改一行代碼,即可將XXL-JOB任務(wù)在SchedulerX 2.0平臺上托管。

采用托管的XXL-JOB有以下優(yōu)勢:

  • 免運維、低成本

    自建XXL-JOB最少需要2個服務(wù)器和1個數(shù)據(jù)庫支撐,而使用托管的XXL-JOB可以省去這些機器成本和人力運維成本。

  • 海量任務(wù)、精準(zhǔn)調(diào)度

    開源XXL-JOB基于競爭數(shù)據(jù)庫鎖保證只有一個節(jié)點執(zhí)行任務(wù),對于數(shù)據(jù)庫有壓力。據(jù)統(tǒng)計,當(dāng)任務(wù)超過1萬,都是分鐘級別的任務(wù)時,就會有比較明顯的調(diào)度延時,如果是秒級別任務(wù),延時就更加明顯。SchedulerX 2.0采用分布式架構(gòu),不同的server調(diào)度不同的任務(wù),且無鎖競爭,真正實現(xiàn)可以水平擴展,可以支持百萬級別任務(wù)調(diào)度。SchedulerX 2.0針對秒級別任務(wù)低延時的特性,采用了專門的架構(gòu),占用資源極低,可以作為實時業(yè)務(wù)的秒級別調(diào)度場景。另外,SchedulerX 2.0還支持一次性任務(wù),可以指定未來某個時刻執(zhí)行一次任務(wù),執(zhí)行完任務(wù)自動銷毀,可以作為定時通知、訂單定時關(guān)閉等場景。

  • 高級特性

    • 工作流:通過可視化的工作流進行任務(wù)編排。

    • 限流:可搶占的任務(wù)優(yōu)先級隊列。

    • 資源隔離:支持命名空間和應(yīng)用級別的資源隔離,支持多租戶權(quán)限管理。

  • 高可用

    SchedulerX 2.0采用高可用架構(gòu),任務(wù)多備份機制,經(jīng)歷過阿里集團多年雙十一、容災(zāi)演練等場景的考驗,可以做到整個集群掛掉任意2個節(jié)點或者任意一個機房斷電,任務(wù)調(diào)度都不會受到影響。

  • 商業(yè)化報警運維

    SchedulerX 2.0除了兼容XXL-JOB的郵件報警和基本運維操作,還提供了商業(yè)化報警和運維功能:

    • 報警:通過釘釘群、短信、電話等發(fā)送通知。

    • 運維:支持原地重跑、重刷數(shù)據(jù)、標(biāo)記成功、查看堆棧、停止任務(wù)等操作。

與開源XXL-JOB的區(qū)別

與開源XXL-JOB的區(qū)別入如下表所示。

功能

開源XXL-JOB

SchedulerX為底座的XXL-JOB任務(wù)

Java任務(wù)

對

對

Go任務(wù)

對

對

腳本任務(wù)

對

對

HTTP任務(wù)

錯

對

單機

對

對

分片廣播

對

對

MapReduce模型

錯

對

路由策略

第一個、最后一個、輪詢、隨機等

輪詢

定時

cron

cron、fixed_rate、fixed_delay、one_time

工作流

錯

對

運維操作

運行一次、停止運行

運行一次、停止運行、原地重跑、重刷數(shù)據(jù)、標(biāo)記成功

日志查詢

日志存在executor本地,機器掛了日志丟失

日志存儲在阿里云日志服務(wù),保留最近2周,支持搜索

可觀測

歷史記錄、運行大盤

歷史記錄、運行大盤、操作記錄、查看堆棧、鏈路追蹤

報警監(jiān)控

郵件

郵件、釘釘、飛書、企業(yè)微信、自定義WebHook、短信、電話

高可用及容災(zāi)

需要自己維護數(shù)據(jù)庫和Server的容災(zāi)

默認(rèn)支持同城多機房容災(zāi)

用戶權(quán)限

用戶隔離,通過賬號密碼登錄

支持單點登錄、主子賬號、角色、RAM精細(xì)化權(quán)限管理

優(yōu)雅下線

對

對

全鏈路灰度

錯

對

限流

錯

對

接入配置

  1. 應(yīng)用的pom.xml文件做如下變更:將com.xuxueli:XXL-JOB-core的依賴去除,增加SchedulerX客戶端的依賴和com.aliyun:schedulerx2-plugin-xxljob插件。

    因為XXL-JOB在2.3.x版本重構(gòu)了接口,請根據(jù)XXL-JOB的版本選擇不同的接入方式,以schedulerx2-spring-boot-starter應(yīng)用為例,配置內(nèi)容如下:

    • 2.3.x版本接入,請參考Demo

      schedulerx2.version使用客戶端最新版本,例如<version>1.11.5</version>。更多信息,請參見客戶端發(fā)布記錄

      <!-- 注釋xxl-job-core -->
      <!--
      <dependency>
      	<groupId>com.xuxueli</groupId>
      	<artifactId>xxl-job-core</artifactId>
      	<version>${project.parent.version}</version>
      </dependency>
      -->
      <!-- 添加schedulerx依賴 -->
      <dependency>
        <groupId>com.aliyun.schedulerx</groupId>
        <artifactId>schedulerx2-spring-boot-starter</artifactId>
        <version>${schedulerx2.version}</version>
      </dependency>
      <!-- 新增schedulerx2-plugin-xxljob -->
      <dependency>
      	<groupId>com.aliyun.schedulerx</groupId>
      	<artifactId>schedulerx2-plugin-xxljob</artifactId>
      	<version>2.3.5</version>
      </dependency>
    • 2.2.x以下版本接入,請參考Demo

      schedulerx2.version使用客戶端的最新版本,例如<version>1.11.5</version>。更多信息,請參見客戶端發(fā)布記錄

      <!-- 注釋xxl-job-core -->
      <!--
      <dependency>
      	<groupId>com.xuxueli</groupId>
      	<artifactId>xxl-job-core</artifactId>
      	<version>${project.parent.version}</version>
      </dependency>
      -->
      <!-- 添加schedulerx依賴 -->
      <dependency>
        <groupId>com.aliyun.schedulerx</groupId>
        <artifactId>schedulerx2-spring-boot-starter</artifactId>
        <version>${schedulerx2.version}</version>
      </dependency>
      <!-- 新增schedulerx2-plugin-xxljob -->
      <dependency>
      	<groupId>com.aliyun.schedulerx</groupId>
      	<artifactId>schedulerx2-plugin-xxljob</artifactId>
      	<version>2.2.4</version>
      </dependency>
  2. agent.properties文件添加如下配置,具體操作,請參見Agent接入(腳本或HTTP任務(wù))

    spring.schedulerx2.endpoint=192.xx.xx.xx
    spring.schedulerx2.namespace=20e90ffc****
    spring.schedulerx2.groupId=679xxx
    spring.schedulerx2.appKey=71BCC0Exxx

使用Xxljob方法創(chuàng)建任務(wù)

參考開源XXL-JOB-executor-sample-springboot工程,創(chuàng)建方法任務(wù),示例代碼如下:

/**     
* 簡單任務(wù)示例(Bean模式)     
*/ 
   @XxlJob("demoJobHandler")
    public ReturnT<String> demoJobHandler(String param) throws Exception {
        System.out.println("XXL-JOB, " + param);
        return ReturnT.SUCCESS;
    }
  1. 登錄分布式任務(wù)調(diào)度平臺
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

  3. 在應(yīng)用列表頁面頂部菜單欄選擇地域,在頁面中選擇所屬命名空間,然后單擊創(chuàng)建任務(wù)。關(guān)于參數(shù)配置,請參見創(chuàng)建調(diào)度任務(wù)

  4. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的運行一次

  5. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的更多>歷史記錄,可以查看任務(wù)實例記錄

使用JobHandler方法創(chuàng)建任務(wù)

示例代碼如下:

@JobHandler(value="HelloJobHandler")
@Componentpublic class HelloJobHandler extends IJobHandler {
    @Override
    public ReturnT<String> execute(String param) throws Exception {
        System.out.println("HelloJobHandler: " + param);
        return SUCCESS;
    }
}
  1. 登錄分布式任務(wù)調(diào)度平臺
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

  3. 在應(yīng)用列表頁面頂部菜單欄選擇地域,在頁面中選擇所屬命名空間,然后單擊創(chuàng)建任務(wù)。參數(shù)配置,請參見創(chuàng)建調(diào)度任務(wù)

  4. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的運行一次

  5. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的更多>歷史記錄,可以查看任務(wù)實例記錄

使用分片廣播的方式創(chuàng)建任務(wù)

以XxlJob方法注解為例,示例代碼如下:

/**
* 分片廣播任務(wù)
*/
    @XxlJob("shardingJobHandler")
    public ReturnT<String> shardingJobHandler(String param) throws Exception {
        // 分片參數(shù)
        int shardIndex = XxlJobContext.getXxlJobContext().getShardIndex();
        int shardTotal = XxlJobContext.getXxlJobContext().getShardTotal();
        XxlJobLogger.log("分片參數(shù):當(dāng)前分片序號 = {}, 總分片數(shù) = {}", shardIndex, shardTotal);
        System.out.println("分片參數(shù):當(dāng)前分片序號 ="+ shardIndex + ", 總分片數(shù) = " + shardTotal);
        // 業(yè)務(wù)邏輯
        for (int i = 0; i < shardTotal; i++) {
            if (i == shardIndex) {
                System.out.println("第 " + i + " 片, 命中分片開始處理");
                XxlJobLogger.log("第 {} 片, 命中分片開始處理", i);
            } else {
                XxlJobLogger.log("第 {} 片, 忽略", i);
            }
        }
        return ReturnT.SUCCESS;
    }
  1. 登錄分布式任務(wù)調(diào)度平臺
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

  3. 在應(yīng)用列表頁面頂部菜單欄選擇地域,在頁面中選擇所屬命名空間,然后單擊創(chuàng)建任務(wù)。關(guān)于參數(shù)配置,請參見創(chuàng)建調(diào)度任務(wù)

  4. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的運行一次

  5. 任務(wù)管理頁面,單擊目標(biāo)任務(wù)操作列下的更多>歷史記錄,可以查看任務(wù)實例記錄

XXL-JOB任務(wù)批量遷移

  • XXL-JOB導(dǎo)出任務(wù)配置

    1. 下載導(dǎo)出工具

    2. 解壓工具包,在application.properties文件中進行導(dǎo)出配置。GG

      配置參數(shù)如下:

      ### xxl-job, datasource
      datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
      datasource.username=root
      datasource.password=123456
      datasource.driver-class-name=com.mysql.cj.jdbc.Driver
      
      ### 配置對應(yīng)要導(dǎo)出的app-name(該步驟可選,不設(shè)置的情況下導(dǎo)出所有任務(wù)分組)
      #xxl-job.app-name=xxl-job-executor-sample
    3. 執(zhí)行./start.sh命令運行導(dǎo)出操作。SS

    4. 執(zhí)行完成后,在當(dāng)前目錄下獲得xxljob_*******.json的任務(wù)配置文件(僅包含Bean模式的任務(wù)配置信息)。

  • XXL-JOB任務(wù)導(dǎo)入SchedulerX 2.0

    1. 登錄SchedulerX 2.0控制臺。

    2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

    3. 任務(wù)管理頁面上方單擊導(dǎo)入任務(wù)

    4. 選擇待導(dǎo)入的任務(wù)配置文件后單擊導(dǎo)入,即可完成XXL-JOB任務(wù)配置信息和SchedulerX任務(wù)配置信息的同步。