dramatiq.worker.threads
Total active worker threadsDimensions:None
Available on:
Prometheus (1)
Interface Metrics (1)
Technical Annotations (24)
Configuration Parameters (5)
--threadsrecommended: Reduce from high values like 40; single thread (--threads=1) works reliablyrabbitmq.heartbeat_timeoutrecommended: Increase from defaultqueue_namerecommended: high-priority, default, low-priority, bulkworker_threadsrecommended: 8time_limitrecommended: Use with gevent, not threadsError Signatures (3)
pika.exceptions.ConnectionWrongStateError: BlockingConnection.add_callback_threadsafe() called on closed or closing connection.exceptionFailed to wait for all callbacks to complete. This can happen when the RabbitMQ server is suddenly restarted.log patterndramatiq.middleware.time_limit.TimeLimitExceededexceptionCLI Commands (4)
dramatiq example --threads=40 --processes=1diagnosticdramatiq example --threads=1 --processes=1remediationdramatiq tasks --queues high-priority --threads 8remediationdramatiq tasks --queues default low-priority --threads 4remediationTechnical References (12)
consumer threadscomponentsys.setswitchintervalcomponentheartbeat intervalconceptdelayed queuecomponentsys.getswitchintervalcomponentkernel thread schedulingconceptAsyncIO middlewarecomponentevent loopconceptgeventcomponentPyThreadState_SetAsyncExccomponentbroker.emit_aftercomponentBaseExceptionconceptRelated Insights (6)
Concurrent actor execution overwhelms database and external serviceswarning
▸
Message duplication from RabbitMQ connection closure under CPU-intensive loadcritical
▸
Single-thread CPU pinning causes RabbitMQ connection timeoutwarning
▸
Worker thread pool exhaustion delays high-priority taskswarning
▸
AsyncIO actors limited by worker thread count causing blockingwarning
▸
TimeLimitExceeded exception during error handling causes worker thread deathcritical
▸