diff options
author | Brion Vibber <brion@pobox.com> | 2010-02-10 10:59:30 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-02-10 10:59:30 -0800 |
commit | d9c9b2a12fe6cbb800440eeb0174d375760e0103 (patch) | |
tree | b13386a995dfbeeda152c5f4f7fd19d68fc20e68 /lib | |
parent | e856af34c3ac560a21286ca89019c2249994c080 (diff) |
Queue daemon fixes:
* skip unnecessary unsubscribes on graceful shutdown -- takes a long time for many queues, slows down our restarts when hitting graceful mem limit
* fix control channel (was broken when we switched to support multiple queue servers)
Diffstat (limited to 'lib')
-rw-r--r-- | lib/stompqueuemanager.php | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php index 6730cd213..cc4c817d8 100644 --- a/lib/stompqueuemanager.php +++ b/lib/stompqueuemanager.php @@ -107,9 +107,10 @@ class StompQueueManager extends QueueManager $message .= ':' . $param; } $this->_connect(); - $result = $this->_send($this->control, - $message, - array ('created' => common_sql_now())); + $con = $this->cons[$this->defaultIdx]; + $result = $con->send($this->control, + $message, + array ('created' => common_sql_now())); if ($result) { $this->_log(LOG_INFO, "Sent control ping to queue daemons: $message"); return true; @@ -368,17 +369,10 @@ class StompQueueManager extends QueueManager foreach ($this->cons as $i => $con) { if ($con) { $this->rollback($i); - $con->unsubscribe($this->control); + $con->disconnect(); + $this->cons[$i] = null; } } - if ($this->sites) { - foreach ($this->sites as $server) { - StatusNet::init($server); - $this->doUnsubscribe(); - } - } else { - $this->doUnsubscribe(); - } return true; } |