Race condition creating queues vs consuming from them
- Dominant language
- Python
- Stars
- 5.3k
- Forks
- 383
- Avg merge
- 9h 41m
- Merged PRs (30d)
- 2
Description
## Checklist
* [x] Does your title concisely summarize the problem?
* [ ] Did you include a minimal, reproducible example?
* [x] What OS are you using?
* [x] What version of Python are you using?
* [x] What version of Dramatiq are you using?
* [x] What Broker are you using?
* [x] What did you do?
* [x] What did you expect would happen?
* [x] What happened?
## What OS are you using?
Debian trixie
## What version of Python are you using?
3.13
## What version of Dramatiq are you using?
1.18.0
## What Broker are you using?
RabbitMQ
## What did you do?
Start worker for the first time, when queues don't exist yet in rabbitMQ
## What did you expect would happen?
No error logs
## What happened?
Get some error logs, e.g.
```text
[PID 1] [MainThread] [dramatiq.MainProcess] [INFO] Dramatiq '1.18.0' is booting up.
[PID 10] [MainThread] [dramatiq.WorkerProcess(0)] [INFO] Worker process is ready for action.
[PID 10] [Thread-12] [dramatiq.worker.ConsumerThread(default.DQ)] [CRITICAL] Consumer encountered a connection error: (404, "NOT_FOUND - no queue 'default.DQ' in vhost '[redacted]'")
[PID 10] [Thread-12] [dramatiq.worker.ConsumerThread(default.DQ)] [INFO] Restarting consumer in 3.00 seconds.
```
Contributor guide
Assessment
This issue has not been assessed yet.