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)
This commit is contained in:
Brion Vibber 2010-02-10 10:59:30 -08:00
parent e856af34c3
commit d9c9b2a12f
1 changed files with 6 additions and 12 deletions

View File

@ -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;
}