summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-01-28 09:52:35 -0800
committerBrion Vibber <brion@pobox.com>2010-01-28 09:52:35 -0800
commita868a523a5ab042e75d333298a75aaa369d445cc (patch)
treee5d8e9feb290025d0eb006bcbc9382669e97e538
parentffaaf9de4a1da25f6168c53a33b25683ae134c61 (diff)
Can now set $config['queue']['stomp_persistent'] = false; to explicitly disable persistence when we queue items
-rw-r--r--lib/default.php1
-rw-r--r--lib/stompqueuemanager.php9
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/default.php b/lib/default.php
index c729193b5..8de8b1097 100644
--- a/lib/default.php
+++ b/lib/default.php
@@ -84,6 +84,7 @@ $default =
'control_channel' => '/topic/statusnet-control', // broadcasts to all queue daemons
'stomp_username' => null,
'stomp_password' => null,
+ 'stomp_persistent' => true, // keep items across queue server restart, if persistence is enabled
'monitor' => null, // URL to monitor ping endpoint (work in progress)
'softlimit' => '90%', // total size or % of memory_limit at which to restart queue threads gracefully
'debug_memory' => false, // true to spit memory usage to log
diff --git a/lib/stompqueuemanager.php b/lib/stompqueuemanager.php
index da70d9ae3..4e2b58602 100644
--- a/lib/stompqueuemanager.php
+++ b/lib/stompqueuemanager.php
@@ -174,12 +174,13 @@ class StompQueueManager extends QueueManager
$this->_connect();
- // XXX: serialize and send entire notice
-
+ $props = array('created' => common_sql_now());
+ if (common_config('queue', 'stomp_persistent')) {
+ $props['persistent'] = 'true';
+ }
$result = $this->con->send($this->queueName($queue),
$msg, // BODY of the message
- array ('created' => common_sql_now(),
- 'persistent' => 'true'));
+ $props);
if (!$result) {
common_log(LOG_ERR, "Error sending $rep to $queue queue");