Real Decision

Progress Reporting Without Coupling

Problem

Users need export progress, but worker internals should remain isolated from frontend communication.

Decision

Workers publish progress and completion events through Redis Pub/Sub while storing the latest state with TTL. Consumers can either subscribe in real time or retrieve the latest status without directly interacting with workers.