QueueForge is a backend system designed to reliably accept, process, retry, and track background jobs with a strong focus on failure handling and observability.
- Accept jobs via a REST API
- Process jobs asynchronously using background workers
- Persist job state and execution history
- Retry failed jobs using controlled retry strategies
- Expose system health and job status for observability
- No user authentication or authorization
- No UI or dashboard
- No external integrations in v1
- No premature optimization or scaling
QueueForge follows a layered architecture to enforce separation of concerns and maintain testability.
-
API Layer
- Exposes REST endpoints
- Handles HTTP concerns (routing, validation, status codes)
- Contains no business logic
-
Application Layer
- Contains use cases and business rules
- Orchestrates job lifecycle (enqueue, start, retry, complete, fail)
- Depends only on domain abstractions
-
Domain Layer
- Contains core domain entities and rules
- Framework-agnostic
- Represents the job and execution lifecycle
-
Infrastructure Layer
- Implements persistence, background workers, and external concerns
- Provides concrete implementations for application interfaces
- Replaceable without affecting business logic