A queue lets a request finish before slower work completes.
Pine Market can accept an order while a receipt waits for the mail provider. That changes the promise: success means the job is durable, not that the receipt has already arrived. Make that difference visible in the API.
Failures occur between actions. A worker can send a receipt, crash before acknowledging it, and receive the same job again. A stable deduplication key protects the side effect; a retry count only limits how often it repeats. Poison jobs need isolation so one bad payload doesn't block healthy work. You'll size a backlog, choose an acknowledgement point, and keep a slow external dependency off the checkout path.