Queues consumers and data-centers

I have a worker that consumes queue messages and handles them.
There is one “main” message that is being consumed, and then several other messages are being sent which are immediately consumed by the same worker.

The worker that handles the main message is updating (not creating a new one) a KV record that is then being read by the handlers of the subsequent messages.

My question - is it safe to assume that all handlers will run in the same data center?
Is there any chance that the handlers of the subsequent messages will be triggered in a different DC than the “main” one?

The reason it’s important - the subsequent handlers run immediately after the kv is being updated. If there is a chance it is triggered in another DC, it might get an older copy of that key.

P.S - I know I can pass data on the queue message itself, but the problem is that it might get too large for a message. If I’ll have no choice, I’ll pass just the updated field on the queue message.

Anyone from Cloudflare maybe can answer this one?

You can’t rely on consumers running in the same PoP as publishers. I believe they do most of the time, but in case the PoP goes offline, the messages will be consumed in a different PoP.

I’d recommend using Durable Objects if you need to maintain state and make sure writes are instantly visible to readers.