summaryrefslogtreecommitdiff
path: root/lib/stompqueuemanager.php
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-05-27 14:54:43 -0700
committerBrion Vibber <brion@pobox.com>2010-05-27 14:54:43 -0700
commit2f2fa100715f9c09b2b91a2d1afddacf7b7f16db (patch)
tree883a6642614484db322a3b6f17511c2ab5f46376 /lib/stompqueuemanager.php
parent87b8a89aa7b96e63586bdd3b1afb9d43355fd48b (diff)
parent2b318a3420fe3e979defc7eacfb1eb2d9321d807 (diff)
Merge branch 'master' of gitorious.org:statusnet/mainline into testingtesting
Diffstat (limited to 'lib/stompqueuemanager.php')
-rw-r--r--lib/stompqueuemanager.php14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php
index 5d5c7ccfb..de4ba7f01 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);
}
/**