Releases: krwg/gosched
Releases · krwg/gosched
Release list
GoSched v1.1.0
GoSched v1.1.0 — Docker & observability stack
Adds a one-command production-style demo environment.
New
- Dockerfile — multi-stage, distroless-style Alpine image
- docker-compose.yml — GoSched + Prometheus + Grafana
- Grafana dashboard — schedules, wait time, CPU util, completed/missed
- docs/deployment.md — runbook and smoke tests
- Makefile —
docker-up,docker-down,docker-logs
Try it
git clone https://github.com/krwg/gosched.git
cd gosched
docker compose up --build -d
curl -s -X POST http://localhost:8080/api/v1/schedule \
-H "Content-Type: application/json" \
-d @tests/fixtures/tasks.json| Service | URL |
|---|---|
| GoSched | http://localhost:8080 |
| Prometheus | http://localhost:9090 |
| Grafana | http://localhost:3000 (admin / gosched) |
Includes everything from v1.0.0.
GoSched v1.0.0
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 REST —
POST /api/v1/schedule,GET /health,GET /metrics - gRPC —
Schedule,Health(proto inapi/proto/) - Prometheus metrics — completed/missed tasks, wait time, CPU util, queue depth
- Gantt charts — ASCII console + PNG export
Extensibility
- Go plugins (
.soon 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