Qschedule
QSchedule是公司开发的高可用调度系统
防单点故障
task worker 可部署多台,任务调度时,只有一台参与执行。如果一台下线,Qschedule选择其他worker执行。
可管理监控
Qschedule 提供管理后台,可手动启停任务,设置任务执行频率、恢复策略。人工干预指定哪些worker来工作,可查看任务执行进度、任务执行生成的日志。任务执行失败时会收到报警。
Qschedule Module
qschedule 由三大模块组成:qschedule client、qschedule manager、qschedule server
Qschedule Client
是一个jar包集合,其中包括Qschedule Executor、Qschedule Api、Qschedule Config、Qschedule Config Api、Qschedule Common
Qschedule Executor
向Server注册job
内置Qmq Consumer 接收Server发送的消息开始调度本地任务
任务调度时回传任务进度、日志和心跳给Server
调度完成后发送Ack确认帧给Server
Qschedule Api
提供定义任务,调度任务,获得任务运行参数,汇报任务进度、记录任务日志的Api
Qschedule Config Api、Qschedule Config
定义和实现了Qschedule注解
Qschedule Common
提取Cron表达式类
定义Client与Server通讯的Dubbo接口
公共的常量和实体
Qschedule Manager
是webapp
查看我的任务及监控任务状态、进度和日志
启动、停止任务。手动执行任务。
设置任务调度时间、恢复策略、给任务传递json参数。
让运行任务的机器(worker)上下线。
提供Http接口。
Qschedule Server
调度中心
JobRegister 作业注册
Scheduler 调度中心
JobTracker 工作跟踪
TaskTracker 任务跟踪
ProcessTracker 进度跟踪
Logger 日志记录
FailedRecoverStrategy 失败恢复
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!