# Device-Job **Repository Path**: dxycc/device-job ## Basic Information - **Project Name**: Device-Job - **Description**: Device-Job 是一款面向工业设备的通知驱动型实时任务调度引擎,基于事件触发与调度池模型,实现去轮询、低延迟、高实时性的设备任务调度。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-18 - **Last Updated**: 2026-02-03 ## Categories & Tags **Categories**: task-schedule **Tags**: None ## README # ⚙️ Device-Job > 面向工业设备的 **通知驱动型实时调度引擎** --- ## 📖 项目简介 **Device-Job** 是一套专为 **工业设备与自动化产线场景** 设计的 **高实时性任务调度系统**。 与传统「定时扫描 + 轮询触发」的调度系统不同,Device-Job 采用: > ✅ **通知驱动 / 事件驱动调度模型** > ❌ **不使用数据库轮询、不扫表、不定时扫描** 当: * 设备状态发生变化 * 部件任务完成 / 失败 * 工位空闲 / 占用释放 * 业务流程推进到下一个阶段 系统通过 **调度通知** 直接唤醒调度引擎,将任务投入 **调度池(Scheduler Pool)** 进行资源匹配与执行分配,实现: * ⚡ 毫秒级响应 * 🚀 极低调度延迟 * 🧠 去轮询架构 * ♻️ 更适合设备密集型、任务密集型工业系统 ![img.png](docs/dev-ops/images/img.png) ![img_1.png](docs/dev-ops/images/img_1.png) --- ## 🎯 适用场景 * 🏭 工业设备任务调度(刻录设备 / 加工设备 / 检测设备 / 机器人等) * 🧩 设备部件级调度(驱动器 / 盘匣 / 机械臂 / 工位等) * 🏗️ 自动化产线工序流转调度 * 🔁 异步流程编排 * 🚨 设备事件 / 任务状态变更触发调度 * 🧵 高并发设备任务排队与分发 --- ## 🧱 核心设计理念 ### 1️⃣ 通知驱动,而不是轮询 传统调度系统: > 定时扫描数据库 → 查找可执行任务 → 调度执行 Device-Job: > 设备事件 / 业务事件 → 发送调度通知 → 立即进入调度池 **优势:** * 不扫表 * 不轮询 * 不浪费 IO * 不引入调度延迟 --- ### 2️⃣ 调度池模型(Scheduler Pool) * 所有可执行任务统一进入调度池 * 调度器根据: * 设备状态 * 资源占用情况 * 并发限制 * 调度策略 * 动态分配任务执行权 --- ### 3️⃣ 面向工业设备的调度抽象 Device-Job 原生建模: * Device(设备) * Component(部件) * Station(工位) * Job(任务) * SchedulerPool(调度池) * Strategy(调度策略) 非常适合: > MES / WMS / 自动化产线 / 工业控制系统 / 光盘刻录系统 / 智能制造系统 --- ## 🧠 系统特性 * ✅ 通知驱动调度模型(Event Driven) * ✅ 去轮询架构设计 * ✅ 调度池统一调度 * ✅ 支持任务排队 / 并发控制 / 资源抢占 * ✅ 支持任务状态机流转 * ✅ 支持失败重试 / 调度回调 * ✅ 天然适合设备型业务 --- ## 🏗️ 项目定位 > Device-Job 不是一个「定时任务框架」,而是一个: # 🚀 面向工业设备与流程的实时调度引擎 --- ## ✨ 一句话总结 > **Device-Job:为工业设备而生的,通知驱动型实时调度系统。**