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

XxlJob任務(wù)

更新時(shí)間:

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

背景信息

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

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

  • 免運(yùn)維、低成本

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

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

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

  • 高級(jí)特性

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

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

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

  • 高可用

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

  • 商業(yè)化報(bào)警運(yùn)維

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

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

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

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

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

功能

開源XXL-JOB

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

Java任務(wù)

對(duì)

對(duì)

Go任務(wù)

對(duì)

對(duì)

腳本任務(wù)

對(duì)

對(duì)

HTTP任務(wù)

錯(cuò)

對(duì)

單機(jī)

對(duì)

對(duì)

分片廣播

對(duì)

對(duì)

MapReduce模型

錯(cuò)

對(duì)

路由策略

第一個(gè)、最后一個(gè)、輪詢、隨機(jī)等

輪詢

定時(shí)

cron

cron、fixed_rate、fixed_delay、one_time

工作流

錯(cuò)

對(duì)

運(yùn)維操作

運(yùn)行一次、停止運(yùn)行

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

日志查詢

日志存在executor本地,機(jī)器掛了日志丟失

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

可觀測(cè)

歷史記錄、運(yùn)行大盤

歷史記錄、運(yùn)行大盤、操作記錄、查看堆棧、鏈路追蹤

報(bào)警監(jiān)控

郵件

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

高可用及容災(zāi)

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

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

用戶權(quán)限

用戶隔離,通過賬號(hào)密碼登錄

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

優(yōu)雅下線

對(duì)

對(duì)

全鏈路灰度

錯(cuò)

對(duì)

限流

錯(cuò)

對(duì)

接入配置

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

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

    • 2.3.x版本接入,請(qǐng)參考Demo

      schedulerx2.version使用客戶端最新版本,例如<version>1.11.5</version>。更多信息,請(qǐng)參見客戶端發(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以下版本接入,請(qǐng)參考Demo

      schedulerx2.version使用客戶端的最新版本,例如<version>1.11.5</version>。更多信息,請(qǐng)參見客戶端發(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文件添加如下配置,具體操作,請(qǐng)參見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ù),示例代碼如下:

/**     
* 簡(jiǎn)單任務(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)度平臺(tái)
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

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

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

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

使用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)度平臺(tái)
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

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

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

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

使用分片廣播的方式創(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)前分片序號(hào) = {}, 總分片數(shù) = {}", shardIndex, shardTotal);
        System.out.println("分片參數(shù):當(dāng)前分片序號(hào) ="+ 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)度平臺(tái)
  2. 在左側(cè)導(dǎo)航欄單擊任務(wù)管理

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

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

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

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

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

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

    2. 解壓工具包,在application.properties文件中進(jìn)行導(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
      
      ### 配置對(duì)應(yīng)要導(dǎo)出的app-name(該步驟可選,不設(shè)置的情況下導(dǎo)出所有任務(wù)分組)
      #xxl-job.app-name=xxl-job-executor-sample
    3. 執(zhí)行./start.sh命令運(yùn)行導(dǎo)出操作。SS

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

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

    1. 登錄SchedulerX 2.0控制臺(tái)。

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

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

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