From a3a5d23c54bfd2207728a957f370fc83ebfc4c65 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Thu, 23 Jul 2009 14:56:21 -0700 Subject: [PATCH] dbqueuemanager a little more sane about sleeping --- lib/dbqueuemanager.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/dbqueuemanager.php b/lib/dbqueuemanager.php index 013636191f..19aa9f3aeb 100644 --- a/lib/dbqueuemanager.php +++ b/lib/dbqueuemanager.php @@ -22,7 +22,6 @@ * @category QueueManager * @package Laconica * @author Evan Prodromou - * @author Sarven Capadisli * @copyright 2009 Control Yourself, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://laconi.ca/ @@ -86,10 +85,14 @@ class DBQueueManager extends QueueManager $start = time(); $result = null; + $sleeptime = 1; + do { $qi = Queue_item::top($queue); if (empty($qi)) { - sleep(1); + $this->_log(LOG_DEBUG, "No new queue items, sleeping $sleeptime seconds."); + sleep($sleeptime); + $sleeptime *= 2; } else { $notice = Notice::staticGet('id', $qi->notice_id); if (!empty($notice)) { @@ -100,6 +103,7 @@ class DBQueueManager extends QueueManager $qi->free(); $qi = null; } + $sleeptime = 1; } } while (empty($result) && (is_null($timeout) || (time() - $start) < $timeout));