]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Removing inbox and memcached daemon handling
authorEvan Prodromou <evan@controlyourself.ca>
Sat, 30 May 2009 08:40:47 +0000 (04:40 -0400)
committerEvan Prodromou <evan@controlyourself.ca>
Sat, 30 May 2009 08:40:47 +0000 (04:40 -0400)
classes/Notice.php
lib/util.php
scripts/getvaliddaemons.php
scripts/inboxqueuehandler.php [deleted file]
scripts/memcachedqueuehandler.php [deleted file]
scripts/stopdaemons.sh

index 3a90d18b4737d0749054ee270b147cddb5ca8cb7..b4c86ebeb5ba093366230d1d35d00b84e69b91eb 100644 (file)
@@ -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');
index 214c3327996316e0308e4232ed21d3409708de04..22308f432c79324f0aa71586c7ce86ee891d2de8 100644 (file)
@@ -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;
 }
 
index 482e63af70b712873b67e850c64356c97f95a979..0996ba9f415da150bc3b076c1c44b929d76d762a 100755 (executable)
@@ -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 (executable)
index c7aab4f..0000000
+++ /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 (executable)
index 185b781..0000000
+++ /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();
index f6d71eddfb466370bf6d0fd91850ff3667951f84..2134b4ab00f2af90e95750a5a24fb9153d97a917 100755 (executable)
@@ -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