Skip to main content

Roadmap

The following roadmap outlines JobMaster's strategic direction: developer control, operational visibility, and management flexibility. JobMaster is currently in alpha.

Timeline & Priorities​

PhaseFocusPriorityStatus
Phase 1Dashboard & VisibilityHigh✅ Complete
Phase 2Decoupling & ConfigurationMedium✅ Complete
Phase 3Dynamic 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.