From: Brion Vibber Date: Fri, 21 May 2010 21:07:59 +0000 (-0700) Subject: Add $config['queue']['stomp_enqueue_to'] override for which queue server to send to. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=206229875511d24a97a0aac79605f6868d21ee7f;p=quix0rs-gnu-social.git Add $config['queue']['stomp_enqueue_to'] override for which queue server to send to. Must be set to a value that matches one of the entries in $config['queue']['stomp_server'] array, otherwise ignored. --- diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 5d5c7ccfbd..de4ba7f01f 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -122,7 +122,19 @@ class StompQueueManager extends QueueManager public function enqueue($object, $queue) { $this->_connect(); - return $this->_doEnqueue($object, $queue, $this->defaultIdx); + if (common_config('queue', 'stomp_enqueue_on')) { + // We're trying to force all writes to a single server. + // WARNING: this might do odd things if that server connection dies. + $idx = array_search(common_config('queue', 'stomp_enqueue_on'), + $this->servers); + if ($idx === false) { + common_log(LOG_ERR, 'queue stomp_enqueue_on setting does not match our server list.'); + $idx = $this->defaultIdx; + } + } else { + $idx = $this->defaultIdx; + } + return $this->_doEnqueue($object, $queue, $idx); } /**