summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-05-30 04:40:47 -0400
committerEvan Prodromou <evan@controlyourself.ca>2009-05-30 04:40:47 -0400
commit76ee1fd5daa6ab1999224d8e93df1b7116f24c36 (patch)
tree34a952af81f736f7dff012b60050eb84aa57013f
parent45c58c74d4d2c2c0a886ff7816f27aa9c6033652 (diff)
Removing inbox and memcached daemon handling
-rw-r--r--classes/Notice.php54
-rw-r--r--lib/util.php13
-rwxr-xr-xscripts/getvaliddaemons.php5
-rwxr-xr-xscripts/inboxqueuehandler.php77
-rwxr-xr-xscripts/memcachedqueuehandler.php70
-rwxr-xr-xscripts/stopdaemons.sh3
6 files changed, 6 insertions, 216 deletions
diff --git a/classes/Notice.php b/classes/Notice.php
index 3a90d18b4..b4c86ebeb 100644
--- a/classes/Notice.php
+++ b/classes/Notice.php
@@ -196,12 +196,8 @@ class Notice extends Memcached_DataObject
$notice->saveReplies();
$notice->saveTags();
- if (common_config('queue', 'enabled')) {
- $notice->addToAuthorInbox();
- } else {
- $notice->addToInboxes();
- $notice->saveGroups();
- }
+ $notice->addToInboxes();
+ $notice->saveGroups();
$notice->query('COMMIT');
@@ -211,13 +207,7 @@ class Notice extends Memcached_DataObject
# Clear the cache for subscribed users, so they'll update at next request
# XXX: someone clever could prepend instead of clearing the cache
- if (common_config('memcached', 'enabled')) {
- if (common_config('queue', 'enabled')) {
- $notice->blowAuthorCaches();
- } else {
- $notice->blowCaches();
- }
- }
+ $notice->blowCaches();
return $notice;
}
@@ -280,17 +270,6 @@ class Notice extends Memcached_DataObject
$this->blowGroupCache($blowLast);
}
- function blowAuthorCaches($blowLast=false)
- {
- // Clear the user's cache
- $cache = common_memcache();
- if (!empty($cache)) {
- $cache->delete(common_cache_key('notice_inbox:by_user:'.$this->profile_id));
- }
- $this->blowNoticeCache($blowLast);
- $this->blowPublicCache($blowLast);
- }
-
function blowGroupCache($blowLast=false)
{
$cache = common_memcache();
@@ -709,33 +688,6 @@ class Notice extends Memcached_DataObject
return;
}
- function addToAuthorInbox()
- {
- $enabled = common_config('inboxes', 'enabled');
-
- if ($enabled === true || $enabled === 'transitional') {
- $user = User::staticGet('id', $this->profile_id);
- if (empty($user)) {
- return;
- }
- $inbox = new Notice_inbox();
- $UT = common_config('db','type')=='pgsql'?'"user"':'user';
- $qry = 'INSERT INTO notice_inbox (user_id, notice_id, created) ' .
- "SELECT $UT.id, " . $this->id . ", '" . $this->created . "' " .
- "FROM $UT " .
- "WHERE $UT.id = " . $this->profile_id . ' ' .
- 'AND NOT EXISTS (SELECT user_id, notice_id ' .
- 'FROM notice_inbox ' .
- "WHERE user_id = " . $this->profile_id . ' '.
- 'AND notice_id = ' . $this->id . ' )';
- if ($enabled === 'transitional') {
- $qry .= " AND $UT.inboxed = 1";
- }
- $inbox->query($qry);
- }
- return;
- }
-
function saveGroups()
{
$enabled = common_config('inboxes', 'enabled');
diff --git a/lib/util.php b/lib/util.php
index 214c33279..22308f432 100644
--- a/lib/util.php
+++ b/lib/util.php
@@ -884,16 +884,12 @@ function common_enqueue_notice($notice)
// If inboxes are enabled, wait till inboxes are filled
// before doing inbox-dependent broadcasts
- if (common_config('inboxes', 'enabled') === true ||
- common_config('inboxes', 'enabled') === 'transitional') {
- $transports[] = 'inbox';
- } else {
- $transports = array_merge($transports, common_post_inbox_transports());
- }
+ $transports = array_merge($transports, common_post_inbox_transports());
foreach ($transports as $transport) {
common_enqueue_notice_transport($notice, $transport);
}
+
return $result;
}
@@ -905,11 +901,6 @@ function common_post_inbox_transports()
$transports = array_merge($transports, array('jabber', 'public'));
}
- if (common_config('memcached', 'enabled')) {
- // Note: limited to 8 chars
- $transports[] = 'memcache';
- }
-
return $transports;
}
diff --git a/scripts/getvaliddaemons.php b/scripts/getvaliddaemons.php
index 482e63af7..0996ba9f4 100755
--- a/scripts/getvaliddaemons.php
+++ b/scripts/getvaliddaemons.php
@@ -25,7 +25,6 @@
* daemon names.
*/
-
# Abort if called from a web server
if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
print "This script must be run from the command line\n";
@@ -41,12 +40,8 @@ if(common_config('xmpp','enabled')) {
echo "xmppdaemon.php jabberqueuehandler.php publicqueuehandler.php ";
echo "xmppconfirmhandler.php ";
}
-if(common_config('memcached','enabled')) {
- echo "memcachedqueuehandler.php ";
-}
echo "ombqueuehandler.php ";
echo "twitterqueuehandler.php ";
echo "facebookqueuehandler.php ";
echo "pingqueuehandler.php ";
-echo "inboxqueuehandler.php ";
echo "smsqueuehandler.php ";
diff --git a/scripts/inboxqueuehandler.php b/scripts/inboxqueuehandler.php
deleted file mode 100755
index c7aab4fe1..000000000
--- a/scripts/inboxqueuehandler.php
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008,2009 Control Yourself, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Abort if called from a web server
-
-if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
- print "This script must be run from the command line\n";
- exit();
-}
-
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-define('LACONICA', true);
-
-require_once(INSTALLDIR . '/lib/common.php');
-require_once(INSTALLDIR . '/lib/queuehandler.php');
-
-set_error_handler('common_error_handler');
-
-class InboxQueueHandler extends QueueHandler
-{
- function transport()
- {
- return 'inbox';
- }
-
- function start() {
- $this->log(LOG_INFO, "Initialize inbox queue handler");
- return true;
- }
-
- function handle_notice($notice)
- {
- $this->log(LOG_INFO, "Distributing notice to inboxes for $notice->id");
- $notice->addToInboxes();
- $notice->saveGroups();
- $notice->blowSubsCache();
- $transports = common_post_inbox_transports();
-
- foreach ($transports as $transport) {
- common_enqueue_notice_transport($notice, $transport);
- }
-
- return true;
- }
-
- function finish() {
- $this->log(LOG_INFO, "Terminating inbox queue handler");
- }
-}
-
-ini_set("max_execution_time", "0");
-ini_set("max_input_time", "0");
-set_time_limit(0);
-mb_internal_encoding('UTF-8');
-
-$id = ($argc > 1) ? $argv[1] : null;
-
-$handler = new InboxQueueHandler($id);
-
-$handler->runOnce();
diff --git a/scripts/memcachedqueuehandler.php b/scripts/memcachedqueuehandler.php
deleted file mode 100755
index 185b781f7..000000000
--- a/scripts/memcachedqueuehandler.php
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/usr/bin/env php
-<?php
-/*
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008,2009 Control Yourself, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-// Abort if called from a web server
-
-if (isset($_SERVER) && array_key_exists('REQUEST_METHOD', $_SERVER)) {
- print "This script must be run from the command line\n";
- exit();
-}
-
-define('INSTALLDIR', realpath(dirname(__FILE__) . '/..'));
-define('LACONICA', true);
-
-require_once(INSTALLDIR . '/lib/common.php');
-require_once(INSTALLDIR . '/lib/queuehandler.php');
-
-set_error_handler('common_error_handler');
-
-class MemcachedQueueHandler extends QueueHandler
-{
- function transport()
- {
- return 'memcache';
- }
-
- function start() {
- $this->log(LOG_INFO, "INITIALIZE");
- return true;
- }
-
- function handle_notice($notice)
- {
- // XXX: fork here
- $this->log(LOG_INFO, "Blowing memcached for $notice->id");
- $notice->blowCaches();
- return true;
- }
-
- function finish() {
- }
-
-}
-
-ini_set("max_execution_time", "0");
-ini_set("max_input_time", "0");
-set_time_limit(0);
-mb_internal_encoding('UTF-8');
-
-$id = ($argc > 1) ? $argv[1] : null;
-
-$handler = new MemcachedQueueHandler($id);
-
-$handler->runOnce();
diff --git a/scripts/stopdaemons.sh b/scripts/stopdaemons.sh
index f6d71eddf..2134b4ab0 100755
--- a/scripts/stopdaemons.sh
+++ b/scripts/stopdaemons.sh
@@ -24,8 +24,7 @@ SDIR=`dirname $0`
DIR=`php $SDIR/getpiddir.php`
for f in jabberhandler ombhandler publichandler smshandler pinghandler \
- xmppconfirmhandler xmppdaemon twitterhandler facebookhandler \
- memcachehandler inboxhandler; do
+ xmppconfirmhandler xmppdaemon twitterhandler facebookhandler; do
FILES="$DIR/$f.*.pid"
for ff in "$FILES" ; do