Eliminate Valkey queue polling fallback (phase 2 CPU optimization)
Replace hardcoded 1-5s polling constants with configurable QueueWaitTimeoutSeconds (default 0 = pure event-driven). Consumers now only wake on pub/sub notifications, eliminating ~118 idle XREADGROUP polls per second across 59 services. Override with VALKEY_QUEUE_WAIT_TIMEOUT env var if a safety-net poll is needed. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -61,6 +61,7 @@ x-router-microservice-defaults: &router-microservice-defaults
|
||||
Router__Messaging__HeartbeatInterval: "10s"
|
||||
Router__Messaging__valkey__ConnectionString: "cache.stella-ops.local:6379"
|
||||
Router__Messaging__valkey__Database: "0"
|
||||
Router__Messaging__valkey__QueueWaitTimeoutSeconds: "${VALKEY_QUEUE_WAIT_TIMEOUT:-0}"
|
||||
# Identity envelope verification (signed by gateway, verified by services)
|
||||
Router__IdentityEnvelopeSigningKey: "${STELLAOPS_IDENTITY_ENVELOPE_SIGNING_KEY}"
|
||||
|
||||
@@ -339,6 +340,7 @@ services:
|
||||
Gateway__Transports__Messaging__Database: "0"
|
||||
Gateway__Transports__Messaging__valkey__ConnectionString: "cache.stella-ops.local:6379"
|
||||
Gateway__Transports__Messaging__valkey__Database: "0"
|
||||
Gateway__Transports__Messaging__valkey__QueueWaitTimeoutSeconds: "${VALKEY_QUEUE_WAIT_TIMEOUT:-0}"
|
||||
Gateway__Transports__Messaging__RequestQueueTemplate: "router:requests:{service}"
|
||||
Gateway__Transports__Messaging__ResponseQueueName: "router:responses"
|
||||
Gateway__Transports__Messaging__ConsumerGroup: "router-gateway"
|
||||
|
||||
Reference in New Issue
Block a user