Roadmap
The following roadmap outlines JobMaster's strategic direction: developer control, operational visibility, and management flexibility. JobMaster is currently in alpha.
Timeline & Priorities
| Phase | Focus | Priority | Status |
|---|---|---|---|
| Phase 1 | Dashboard & Visibility | High | ✅ Complete |
| Phase 2 | Decoupling & Configuration | Medium | ✅ Complete |
| Phase 3 | Dynamic Operations (API & Dashboard) | Low | 🔶 In Progress |
Phase 1: The Dashboard (Visibility)
JobMaster Dashboard
UI built on top of the JobMaster API.
Cluster Monitoring
Visual tracking of cluster health, agent transport status, and worker heartbeats.
Audit & Logs
Decoupling the job from the execution. This allows tracking multiple execution attempts of the same job (reschedules, retries, etc.), with dedicated logs for each individual execution attempt.
Phase 2: Decoupling & Configuration
Job Definition Separation
A mechanism to fully decouple job definitions (metadata, default priorities, timeouts) from the job handler (the actual business logic code). Optional — the existing handler-coupled approach still works.
Scheduling from a Lambda Expression
Scheduling from a lambda expression, provided as an optional package, to make migration from some existing frameworks easier.
Phase 3: Dynamic Operations (API & Dashboard)
Dynamic Scheduling
- Ad-hoc Scheduling: schedule one-off or recurring jobs directly through the API or Dashboard without a new deployment.
- Job Rescheduling: modify the execution time, priority, or data of "Pending" or "In-flight" jobs in real time.
- Manual Triggering: "Run Now" support for recurring schedules, for manual testing and urgent ad-hoc executions.
Remote Worker Control
- Graceful Shutdown: request workers to stop or pause via the API/Dashboard, letting them finish current tasks before going offline.
- Host Telemetry: native integration for container/host metrics (CPU, memory, disk I/O) to identify bottlenecks at the execution layer.
Contributing
We welcome community contributions! If you're interested in helping with any of these initiatives, check the issues on GitHub for related tickets, join discussions on existing roadmap issues, or open a proposal for a new feature.
This roadmap is iterative and may evolve based on community feedback and emerging needs. Each phase builds on the previous one.