summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/queuehandler.php7
-rw-r--r--lib/xmppqueuehandler.php18
2 files changed, 20 insertions, 5 deletions
diff --git a/lib/queuehandler.php b/lib/queuehandler.php
index ba64ad929..867fe41b8 100644
--- a/lib/queuehandler.php
+++ b/lib/queuehandler.php
@@ -75,6 +75,7 @@ class QueueHandler extends Daemon
function run()
{
if (!$this->start()) {
+ $this->log(LOG_WARNING, 'failed to start');
return false;
}
@@ -87,9 +88,15 @@ class QueueHandler extends Daemon
$qm->service($queue, $this);
+ $this->log(LOG_INFO, 'finished servicing the queue');
+
if (!$this->finish()) {
+ $this->log(LOG_WARNING, 'failed to clean up');
return false;
}
+
+ $this->log(LOG_INFO, 'terminating normally');
+
return true;
}
diff --git a/lib/xmppqueuehandler.php b/lib/xmppqueuehandler.php
index ac3d98509..45a8e2c0d 100644
--- a/lib/xmppqueuehandler.php
+++ b/lib/xmppqueuehandler.php
@@ -38,14 +38,20 @@ class XmppQueueHandler extends QueueHandler
function start()
{
# Low priority; we don't want to receive messages
+
$this->log(LOG_INFO, "INITIALIZE");
$this->conn = jabber_connect($this->_id.$this->transport());
- if ($this->conn) {
- $this->conn->addEventHandler('message', 'forward_message', $this);
- $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this);
- $this->conn->setReconnectTimeout(600);
- jabber_send_presence("Send me a message to post a notice", 'available', null, 'available', -1);
+
+ if (empty($this->conn)) {
+ $this->log(LOG_ERR, "Couldn't connect to server.");
+ return false;
}
+
+ $this->conn->addEventHandler('message', 'forward_message', $this);
+ $this->conn->addEventHandler('reconnect', 'handle_reconnect', $this);
+ $this->conn->setReconnectTimeout(600);
+ jabber_send_presence("Send me a message to post a notice", 'available', null, 'available', -1);
+
return !is_null($this->conn);
}
@@ -56,6 +62,8 @@ class XmppQueueHandler extends QueueHandler
function handle_reconnect(&$pl)
{
+ $this->log(LOG_NOTICE, 'reconnected');
+
$this->conn->processUntil('session_start');
$this->conn->presence(null, 'available', null, 'available', -1);
}