Skip to content

Commit

Permalink
Merge pull request #7854 from ryuwd/roneil-stomp-timeout
Browse files Browse the repository at this point in the history
[v8.0] fix (StompMQConnector): add a timeout for the StompConnector
  • Loading branch information
chrisburr authored Oct 28, 2024
2 parents 418c605 + 612065e commit 44f9075
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/DIRAC/Resources/MessageQueue/StompMQConnector.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ class StompMQConnector(MQConnector):
RECONNECT_SLEEP_JITTER = 0.1 # Random factor to add. 0.1 means a random number from 0 to 10% of the current time.
RECONNECT_ATTEMPTS_MAX = 1e4 # Maximum attempts to reconnect.

OUTGOING_HEARTBEAT_MS = 15_000
INCOMING_HEARTBEAT_MS = 15_000
STOMP_TIMEOUT = 60

PORT = 61613

def __init__(self, parameters=None):
Expand Down Expand Up @@ -72,6 +76,11 @@ def setupConnection(self, parameters=None):
reconnectSleepJitter = self.parameters.get("ReconnectSleepJitter", StompMQConnector.RECONNECT_SLEEP_JITTER)
reconnectAttemptsMax = self.parameters.get("ReconnectAttemptsMax", StompMQConnector.RECONNECT_ATTEMPTS_MAX)

outgoingHeartbeatMs = self.parameters.get("OutgoingHeartbeatMs", StompMQConnector.OUTGOING_HEARTBEAT_MS)
incomingHeartbeatMs = self.parameters.get("IncomingHeartbeatMs", StompMQConnector.INCOMING_HEARTBEAT_MS)

stompTimeout = self.parameters.get("Timeout", StompMQConnector.STOMP_TIMEOUT)

host = self.parameters.get("Host")
port = self.parameters.get("Port", StompMQConnector.PORT)
vhost = self.parameters.get("VHost")
Expand All @@ -83,6 +92,8 @@ def setupConnection(self, parameters=None):
connectionArgs = {
"vhost": vhost,
"keepalive": True,
"timeout": stompTimeout,
"heartbeats": (outgoingHeartbeatMs, incomingHeartbeatMs),
"reconnect_sleep_initial": reconnectSleepInitial,
"reconnect_sleep_increase": reconnectSleepIncrease,
"reconnect_sleep_max": reconnectSleepMax,
Expand Down

0 comments on commit 44f9075

Please sign in to comment.