Distributed Task Queue
- Job Engine: Built a distributed task queue in Go using Redis lists with BLPOP for blocking dequeue, processing 5K jobs across 4 workers in ~10 seconds; wrote the worker and scheduler from scratch instead of pulling in Celery to learn the internals of Go concurrency and Redis
- Failure Handling: Handled worker crashes with a 5-second heartbeat written to Redis; jobs from workers that go silent for 30 seconds get requeued by a sweeper, giving at-least-once delivery without a separate broker, plus PostgreSQL-backed status history and exponential-backoff retries
- Ship Path: Containerized with Docker and deployed to Kubernetes with separate deployments for API, workers, and databases; horizontal pod autoscaling on queue depth and automated build/test/rollout through GitHub Actions