Short answer: schedule a game cleanup by enqueuing an operation ID, let a worker perform the cleanup after the web request has returned, and make the business mutation idempotent. For rate-limited webhook processing across US and EU deployments, compare managed queues on dispatch control, retry and dead-letter queue (DLQ) recovery before comparing their bills. At-least-once delivery means a duplicate is a normal input, not proof that the scheduler failed.
Which page fires when cleanup runs twice?
Picture a match closing while a periodic sweep expires stale lobby reservations. The HTTP handler should return without waiting for that sweep. If the worker commits its change but loses its acknowledgment, a later delivery can attempt the same operation again.…