淺談
ScheduleX 簡稱分布式任務排程,簡單的可以了解為就是一個分布式的計劃任務,多台機器安裝了 ScheduleX 的用戶端後,使用者可以在 控制台進行統計的任務排程和配置設定處理。
- schedulerx-console 是 SchedulerX 的控制台,用于建立、管理定時任務。負責資料的建立、修改和查詢。在産品内部與 schedulerx server 互動。
- schedulerx-server 是 SchedulerX 的服務端,是 SchedulerX 的核心元件。負責用戶端任務的排程觸發以及任務執行狀态的監測。
- schedulerx-client 是 SchedulerX 的用戶端。每個接入用戶端的應用程序就是一個的 Worker。Worker 負責與 schedulerx-server 建立通信,讓 schedulerx-server 發現用戶端的機器。并向 schedulerx-server 注冊目前應用所在的分組,這樣 schedulerx-server 才能向用戶端定時觸發任務。
案例講解
案例一:
scheduleX 的控制台界面的報警聯系人是如何同步過來的?觸發報警後沒有通知聯系人。

排查:
首先了解 scheduleX 控制台上看到的使用者來源是 RAM Console 上的資料,如果你在 RAM Console 添加了一個子賬号,這裡就會顯示出來。
通過過來的内容隻有子賬号資訊,不包含 RAM Console 上設定的手機、描述資訊等。
- 從 RAM 控制台同步過來的賬号,需要手動在控制台上,賬号中心-》個人賬号裡面-》添加對應聯系人
EDAS ScheduleX 問題
案例二:
2018-12-19 17:40:41,522 ERROR ScxTaskProcessor-48-com.alibaba.uc.xxqg.video.res.job.CheckVideoSetAuditStatusJob-38885978-2018-12-19 17:40:30-0 -[Executor]: acknowledge failed, status:3, retryTimes:0, server:100.100.12.12:9999, instanceId:35978, id:31465, acknowledgeResult:false false 101 失敗 schedulerx-default-1
DTS-heart-beat-thread-1 -[DtsClientHeartBeatTimer]: serverList is empty, clientConfig:ClientConfig [remotingThreads=32, heartBeatIntervalTime=120000, connectionTimeout=3000, groupId=1-1-3-68, zkHosts=null, namespace=zk-dts-root, zkSessionTimeout=10000, zkConnectionTimeout=10000, isSpring=true, queueSize=10000, consumerThreads=5, consumerThreadsMap=null, version=2.1.4-SNAPSHOT, pageSize=1000, pageSizeMap=null, accessKey=8419bb9xx11448ea, secretKey=null, localAddress=192.168.1.7, clientId=0eeb6542-21ad920:192.168.1.7, crashRetry=false, pullTaskListOverSleepTime=20000, failureJobProcessorMap=null, stopJobProcessor=null, finishLog=true, isEveryTimeNew=false, zkHostsAutoChange=true, maxBodySize=65536, environment=SchedulerX, signature=hOM8Q9au7l6Y=, jobMap=null, machine=null, domainName=schedulerx-cn-north-2.console.aliyun.com, serviceGroup=null, regionName=cn-north-2-gov-1, serviceGroupId=null, autoInit=true, isAgent=false, newInstance=true, configPath=null, connectTime=1540556330841, innerDebug=0, newVersion=false] schedulerx-default-2
按照類似的報錯提示,是連結 scheduleX 的服務端失敗,可以參考一下排查過程:
- 1)檢查下本機 ping schedulerx-cn-north-2.console.aliyun.com 的連通性,如果 ping 都不通肯定會報錯。
- 2)curl 測試到 domainName=schedulerx-cn-north-2.console.aliyun.com 連通性,curl -voa http://schedulerx-cn-north-2.console.aliyun.com
- 3)如果出現類似以下資訊,請工單聯系阿裡雲
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <h1>301 Moved Permanently</h1> <p>The requested resource has been assigned a new permanent URI.</p> <hr/>Powered by Tengine</body> </html>