Technologies/RabbitMQ/dramatiq.messages.failed
RabbitMQRabbitMQMetric

dramatiq.messages.failed

Total messages failed
Dimensions:None

Technical Annotations (32)

Configuration Parameters (8)
lazy-appsrecommended: enabled
uwsgi setting to load app code after worker fork, preventing file descriptor sharing
fail_fastrecommended: True
StubBroker.join parameter to reraise exceptions in main thread (default since v2.0.0)
max_retriesrecommended: 3
default retry limit before dead letter queue
on_failurerecommended: on_task_failure callback
Captures permanently failed tasks for alerting and dead letter queue
retry_delayrecommended: 60
delay in seconds between retry attempts
consecutive_failsrecommended: 10
threshold to open circuit breaker
time_limitrecommended: Use with gevent, not threads
Threading mode time limits cause worker crashes due to async exception race condition
requeuerecommended: True
In basic_nack call to enable message redelivery on actor failures
Error Signatures (3)
FileNotFoundErrorexception
response.raise_for_status()exception
dramatiq.middleware.time_limit.TimeLimitExceededexception
CLI Commands (2)
py.test --log-cli-level=warningdiagnostic
broker.declare_queue('dlq', durable=True)remediation
Technical References (19)
builtin brokerscomponentlazy apps modecomponentcopy-on-writeconceptStubBrokercomponentRetries middlewarecomponentjsoncomponentdead_letter_queuecomponentretry_countconceptdead letter queuecomponentDLQcomponentgeventcomponentPyThreadState_SetAsyncExccomponentbroker.emit_aftercomponentBaseExceptionconceptNACKconceptbasic_nackcomponent@dramatiq.actorcomponentenqueue()componentRabbitMQ brokercomponent
Related Insights (14)
File descriptor sharing causes enqueueing failures in pre-forking serverscritical
Integration tests hang when actors fail due to retry exhaustion delaywarning
Non-JSON-serializable message parameters cause immediate send failurewarning
Task queue failures occur silently without monitoringcritical
Tasks fail permanently after exhausting retriescritical
Task fails permanently after retry exhaustioncritical
External API HTTP errors trigger task retrieswarning
Misconfigured max_retries=0 causes immediate task failurewarning
Missing circuit breaker causes cascading failures during chronic outageswarning
Missing dead letter queue causes infinite retry resource exhaustionwarning
TimeLimitExceeded exception during error handling causes worker thread deathcritical
NACK hardcoded to not requeue sends failed messages to DLQ instead of retryingwarning
Task duration exceeding time_limit triggers unwanted retrieswarning
Off-by-one error in RabbitMQ broker enqueue retry countwarning