Skip to content

GoSched v1.0.0

Choose a tag to compare

@krwg krwg released this 04 Jul 22:19

GoSched v1.0.0 — Initial release

Production-ready real-time task scheduler for Go portfolios and backend systems.

Core

  • Algorithms: Rate Monotonic (RM), Earliest Deadline First (EDF), Least Laxity First (LLF)
  • Custom binary heap with O(log n) push/pop
  • Discrete-event engine with async task intake and worker pool
  • CLI: schedule, visualize, benchmark

APIs and observability

  • HTTP RESTPOST /api/v1/schedule, GET /health, GET /metrics
  • gRPCSchedule, Health (proto in api/proto/)
  • Prometheus metrics — completed/missed tasks, wait time, CPU util, queue depth
  • Gantt charts — ASCII console + PNG export

Extensibility

  • Go plugins (.so on Linux/macOS) via --plugin
  • Custom schedulers via scheduler.NewCustom

Quality

  • Unit + integration tests, benchmarks, GitHub Actions CI
  • Docs: architecture, algorithms, API, plugins

Quick start

go install github.com/krwg/gosched/cmd/scheduler@latest
gosched schedule --algorithm=edf --tasks=tests/fixtures/tasks.json
gosched serve --http :8080 --grpc :50051