Queue names aren't scoped per Worker/environment, so staging and production collide in one Cloudflare account
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 46/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- infrastructure
Rechercherichtung
Start in packages/void/src/cli/deploy-resources.ts and trace how desired.queues is built from analysis.queues and how suffixedResourceName is used for other resources. Check how void.config.ts queue declarations are handled. Done means staging and production deployments in one Cloudflare account get distinct queue names or can map logical names per environment, with their consumers bound to the intended queues.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
Queue names come straight from file paths (queues/emails.ts → emails) and get no Worker or environment suffix. Cloudflare queue names are unique per account, so two deployments of the same app in one account, such as staging and production, share or fight over the same queues.
Other resources don't have this problem. For example, R2 buckets get a Worker-scoped name through suffixedResourceName(workerName, 'storage'), but queues use the bare name (packages/void/src/cli/deploy-resources.ts, desired.queues = analysis.queues.map((q) => q.name), still present in v1.2.1).
Repro
- An app with
queues/jobs.ts. - Deploy it as
app-stagingand asapp-productionin the same Cloudflare account. - Both Workers bind the single
jobsqueue. Staging's producer messages can reach production's consumer, and a queue can have only one consumer Worker, so the second deploy either takes over the consumer or fails.
We also tried to declare environment-specific queues ourselves under cloudflare in void.config.ts, but Void refused that, so there's no way around it from the app.
Expected
One of these:
- Prefix or suffix queue names with the Worker or environment name, as other provisioned resources already do (for example
app-staging-jobs), or - An explicit mapping in
void.config.tsfrom logical queue name to Cloudflare queue name, per environment.
The common setup this blocks is staging and production in one Cloudflare account.
Seen on 1.1.12, still present in 1.2.1.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 402
- Forks
- 32
- Ø Merge
- 10 Std. 18 Min.
- Gemergte PRs (30 T.)
- 113
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus voidzero-dev/void
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
voidzero-dev/void#529 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 78/100
voidzero-dev/void#428 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Auth config regeneration in dev can reuse a cached configEvtl. vergeben @Brooooooklyn hat das heute übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 35/100
voidzero-dev/void#550 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 38/100
voidzero-dev/void#546 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 56/100
voidzero-dev/void#527 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in voidzero-dev/void
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
maniator/verticopolis#1303 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
components-web-app/docs#297 ·
-
listFeatures/getFeatureExamples never return Kotlin examples for Android or server Kotlin SDKsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
appwrite/mcp-for-docs#23 · 1 Kommentar ·
-
`@vanilla-extract/turbopack-plugin`: "getImageSize is not a function" with Next.js 16.4.x when a `.css.ts` file imports an imageEvtl. vergeben @aevarOrigo hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
vanilla-extract-css/vanilla-extract#1799 · 1 Kommentar ·
-
native
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
prime-radiant-inc/evener#4839 ·
Maintainer antworten meist innerhalb von 1 Tag