I’m trying to use Vercel Queues for some inter-service communication, and I’m getting stuck on the first step - sending a message to a queue. I’m trying to get this all working on local development.
Current Behavior
When I call send, I can trace through the code until it gets to ApiClient.sendMessage. In there it’s trying to POST to the URL:
One follow up question - are queues/topics somehow scoped to an app/project? The documentation about topics and deployments is confusing me here. My goal is for one project (a back end Vercel function service) to send messages and a different project (a Next.js web app) to receive them. Is that a supported modality?
As a way of testing the message queue processing response, I wrote a little test CLI script in the receiving app that simulates the service’s behavior by posting a message to the queue. To my surprise, it worked! The message sent successfully. After tracing through the Vercel code on both projects, I realized that in the service (running under “vercel dev”) it’s using the “dev1” domain root (the dev1 region, i guess). That fails. On the application side it’s using the iad1 region. That posts the message successfully.
As another quick test, I curl’d https://dev1.vercel-queue.com/ . That returns DEPLOYMENT_NOT_FOUND. But when I curl https://iad1.vercel-queue.com/, I get a “redirecting” response. Maybe the dev infrastructure for the vercel queue stuff isn’t provisioned correctly?