欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?Elastic-Job分布式定時任務使用方法介紹

 更新時間:2023年01月16日 10:11:18   作者:不死鳥.亞歷山大.狼崽子  
xxl-job?通過一個中心式的調度平臺,調度多個執(zhí)行器執(zhí)行任務,調度中心通過?DB?鎖保證集群分布式調度的一致性,這樣擴展執(zhí)行器會增大?DB?的壓力,然而大部分公司的任務數(shù),執(zhí)行器并不多;xxl-job?提供了非常好用的監(jiān)控頁面甚至還有任務失敗的郵件告警功能

1 事件追蹤

Elastic-Job-Lite在配置中提供了JobEventConfiguration,支持數(shù)據(jù)庫方式配置,會在數(shù)據(jù)庫中自動創(chuàng)建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG兩張表以及若干索引,來記錄作業(yè)的相關信息。

1.1 修改Elastic-Job配置類

在ElasticJobConfig中修改:

    @Autowired
    private DataSource dataSource;
    /**
     * 任務啟動
     *
     * @return
     */
    @Bean(initMethod = "init")
    public SpringJobScheduler initSimpleElasticJob() {
        SimpleJob job1 = fileBackupJobDb;
//        // 定義Lite作業(yè)根配置
        JobEventConfiguration jobEventConfig = new JobEventRdbConfiguration(dataSource);// 增加任務事件追蹤配置
        SpringJobScheduler jobScheduler = new SpringJobScheduler(job1,registryCenter,
                createJobConfiguration(job1.getClass(),"0/10 * * * * ?",4,"0=text,1=image,2=radio,3=vedio"),
                        jobEventConfig);
        return jobScheduler;
    }

1.2 啟動項目

啟動后會發(fā)現(xiàn)在elastic_job_demo數(shù)據(jù)庫中新增以下兩個表。

job_execution_log:

job_status_trace_log:

JOB_EXECUTION_LOG記錄每次作業(yè)的執(zhí)行歷史。分為兩個步驟:

1. 作業(yè)開始執(zhí)行時向數(shù)據(jù)庫插入數(shù)據(jù),除failure_cause和complete_time外的其他字段均不為空。

2. 作業(yè)完成執(zhí)行時向數(shù)據(jù)庫更新數(shù)據(jù),更新is_success, complete_time和failure_cause(如果作業(yè)執(zhí)行失敗)。

JOB_STATUS_TRACE_LOG記錄作業(yè)狀態(tài)變更痕跡表??赏ㄟ^每次作業(yè)運行的task_id查詢作業(yè)狀態(tài)變化的生命周期和運行軌跡。

2 運維

elastic-job中提供了一個elastic-job-lite-console控制臺

設計理念

  • 本控制臺和Elastic Job并無直接關系,是通過讀取Elastic Job的注冊中心數(shù)據(jù)展現(xiàn)作業(yè)狀態(tài),或更新注冊中心數(shù)據(jù)修改全局配置。
  • 控制臺只能控制作業(yè)本身是否運行,但不能控制作業(yè)進程的啟停,因為控制臺和作業(yè)本身服務器是完全分布式的,控制臺并不能控制作業(yè)服務器。

主要功能

  • 查看作業(yè)以及服務器狀態(tài)
  • 快捷的修改以及刪除作業(yè)設置
  • 啟用和禁用作業(yè)
  • 跨注冊中心查看作業(yè)
  • 查看作業(yè)運行軌跡和運行狀態(tài)

不支持項

1. 添加作業(yè)。因為作業(yè)都是在首次運行時自動添加,使用控制臺添加作業(yè)并無必要。直接在作業(yè)服務器啟動包含Elastic Job的作業(yè)進程即可

具體搭建步驟如下:

2.1 搭建

下載地址:傳送門

解壓縮 elastic-job-lite-console-${version}.tar.gz 。

進入 bin目錄 并執(zhí)行:

bin\start.sh

打開瀏覽器訪問 http://localhost:8899/ 即可訪問控制臺。8899為默認端口號,可通過啟動腳本輸入-p自定義端口號。

elastic-job-lite-console-${version}.tar.gz 也可通過 elastic-job 源碼用 mvn install編譯獲取。

輸入用戶名 root 密碼 root 即可打開主界面如下圖

提供兩種賬戶,管理員及訪客,管理員擁有全部操作權限,訪客僅擁有察看權限。默認管理員用戶名和密碼是root/root,訪客用戶名和密碼是guest/guest,可通過conf\auth.properties修改管理員及訪客用戶名及密碼。

2.2 配置及使用

1 配置注冊中心地址

先啟動zookeeper 然后在注冊中心配置界面點添加

點擊提交后,然后點連接(zookeeper必須處于啟動狀態(tài))

連接成功后,在作業(yè)維度下可以顯示該命名空間下作業(yè)名稱、分片數(shù)量及該作業(yè)的cron表達式等信息在服務器維度可以查看服務器ip、當前運行的實例數(shù)、作業(yè)總數(shù)等信息。

2 配置事件追蹤數(shù)據(jù)源

在事件追蹤數(shù)據(jù)源配置頁面點添加按鈕,輸入相關信息

提交后點擊連接即可在作業(yè)歷史下查看作業(yè)歷史記錄

3 dump命令

使用Elastic-Job-Lite過程中可能會碰到一些問題,導致作業(yè)運行不穩(wěn)定。由于無法在生產(chǎn)環(huán)境調試,通過dump命令可以把作業(yè)內(nèi)部相關信息dump出來,方便開發(fā)者debug分析。

(1)開啟dump監(jiān)控端口,并運行程序

修改中ElasticJobConfifig中的createJobConfifiguration方法里JobRootConfifiguration的配置,開啟dump監(jiān)控端口:

JobRootConfiguration simpleJobRootConfig = LiteJobConfiguration.newBuilder(simpleJobConfig)
.monitorPort(9888)//設置dump端口
.build();

(2)windows中安裝netcat(若操作系統(tǒng)中已經(jīng)有nc命令,此步驟可略過)

tools文件夾內(nèi)包含netcat-win32-1.12.zip,解壓即可。

(3)執(zhí)行dump命令

打開命令行工具,進入netcat-win32-1.12.zip的解壓目錄,執(zhí)行以下命令:

echo dump| nc 127.0.0.1 9888 > job_debug_dump.txt

會在當前目錄生成job_debug_dump.txt文件,打開job_debug_dump.txt后看到:

/com.example.demo.job.FileBackupJobDb/sharding | 
/com.example.demo.job.FileBackupJobDb/sharding/3 | 
/com.example.demo.job.FileBackupJobDb/sharding/3/instance | ip18@-@19084
/com.example.demo.job.FileBackupJobDb/sharding/2 | 
/com.example.demo.job.FileBackupJobDb/sharding/2/instance | ip18@-@19084
/com.example.demo.job.FileBackupJobDb/sharding/1 | 
/com.example.demo.job.FileBackupJobDb/sharding/1/instance | ip18@-@19084
/com.example.demo.job.FileBackupJobDb/sharding/0 | 
/com.example.demo.job.FileBackupJobDb/sharding/0/instance | ip18@-@19084
/com.example.demo.job.FileBackupJobDb/servers | 
/com.example.demo.job.FileBackupJobDb/servers/ip18 | 
/com.example.demo.job.FileBackupJobDb/servers/ip2 | 
/com.example.demo.job.FileBackupJobDb/leader | 
/com.example.demo.job.FileBackupJobDb/leader/sharding | 
/com.example.demo.job.FileBackupJobDb/leader/election | 
/com.example.demo.job.FileBackupJobDb/leader/election/latch | 
/com.example.demo.job.FileBackupJobDb/leader/election/instance | ip18@-@19084
/com.example.demo.job.FileBackupJobDb/instances | 
/com.example.demo.job.FileBackupJobDb/instances/ip18@-@19084 | 
/com.example.demo.job.FileBackupJobDb/config | {"jobName":"com.example.demo.job.FileBackupJobDb","jobClass":"com.example.demo.job.FileBackupJobDb","jobType":"SIMPLE","cron":"0/10 * * * * ?","shardingTotalCount":4,"shardingItemParameters":"0\u003dtext,1\u003dimage,2\u003dradio,3\u003dvedio","jobParameter":"","failover":false,"misfire":true,"description":"","jobProperties":{"job_exception_handler":"com.dangdang.ddframe.job.executor.handler.impl.DefaultJobExceptionHandler","executor_service_handler":"com.dangdang.ddframe.job.executor.handler.impl.DefaultExecutorServiceHandler"},"monitorExecution":true,"maxTimeDiffSeconds":-1,"monitorPort":9888,"jobShardingStrategyClass":"","reconcileIntervalMinutes":10,"disabled":false,"overwrite":true}

里面展示的其實就是FileBackupJob任務在Zookeeper中的信息。

到此這篇關于Java Elastic-Job分布式定時任務使用方法介紹的文章就介紹到這了,更多相關Java Elastic-Job內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MybatisX 快速開發(fā)插件過程詳解

    MybatisX 快速開發(fā)插件過程詳解

    MybatisX 是一款基于 IDEA 的快速開發(fā)插件,方便在使用mybatis以及mybatis-plus開始時簡化繁瑣的重復操作,提高開發(fā)速率。這篇文章主要介紹了MybatisX 快速開發(fā)插件,需要的朋友可以參考下
    2021-10-10
  • java使用xfire搭建webservice服務的過程詳解

    java使用xfire搭建webservice服務的過程詳解

    這篇文章主要介紹了java使用xfire搭建webservice服務的過程。使用xfire搭建webService的服務,可以在瀏覽器訪問。對此感興趣的可以了解一下
    2020-07-07
  • Spring Boot使用和配置Druid

    Spring Boot使用和配置Druid

    本篇文章主要介紹了Spring Boot使用和配置Druid,Druid號稱是Java語言中最好的數(shù)據(jù)庫連接池,并且能夠提供強大的監(jiān)控和擴展功能
    2017-04-04
  • JAVA TIMER簡單用法學習

    JAVA TIMER簡單用法學習

    Timer類是用來執(zhí)行任務的類,它接受一個TimerTask做參數(shù)
    2013-07-07
  • java:java.lang.ExceptionInInitializerError報錯解決過程

    java:java.lang.ExceptionInInitializerError報錯解決過程

    這篇文章主要給大家介紹了關于java:java.lang.ExceptionInInitializerError報錯的解決過程,java.lang.ExceptionInInitializerError 是一個異常,表示在初始化一個類的靜態(tài)變量或靜態(tài)塊時發(fā)生了錯誤,需要的朋友可以參考下
    2023-10-10
  • Java中Minio的基本使用詳解

    Java中Minio的基本使用詳解

    這篇文章主要介紹了Java中Minio的基本使用詳解,MinIO 是一個基于Apache License v2.0開源協(xié)議的對象存儲服務,它兼容亞馬遜S3云存儲服務接口,非常適合于存儲大容量非結構化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機鏡像等,需要的朋友可以參考下
    2024-01-01
  • MyBatisPlus 封裝分頁方法示例

    MyBatisPlus 封裝分頁方法示例

    本文主要介紹了基于MybatisPlus的分頁插件封裝,包括分頁結果對象、查詢對象的封裝,以及對象轉換處理,具有一定的參考價值,感興趣的可以了解一下
    2024-12-12
  • SpringBoot 項目如何在tomcat容器中運行的實現(xiàn)方法

    SpringBoot 項目如何在tomcat容器中運行的實現(xiàn)方法

    這篇文章主要介紹了SpringBoot 項目如何在tomcat容器中運行的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-09-09
  • 基于mybatis?plus實現(xiàn)數(shù)據(jù)源動態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    基于mybatis?plus實現(xiàn)數(shù)據(jù)源動態(tài)添加、刪除、切換,自定義數(shù)據(jù)源的示例代碼

    這篇文章主要介紹了基于mybatis?plus實現(xiàn)數(shù)據(jù)源動態(tài)添加、刪除、切換,自定義數(shù)據(jù)源,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • java WebSocket客戶端斷線重連的實現(xiàn)方法

    java WebSocket客戶端斷線重連的實現(xiàn)方法

    在工作中是否會遇到實用websocket客戶端連接服務端的時候,網(wǎng)絡波動,服務端斷連的情況,本文可以直接使用的斷線重連,感興趣的可以了解一下
    2021-10-10

最新評論