Real Decision
Problem
Background workers should be replaceable and horizontally scalable.
Decision
Workers keep no local state beyond temporary processing directories. All coordination happens through RabbitMQ, Redis and shared storage, making workers completely disposable.