X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=scripts%2Fqueuedaemon.php;h=582a3dd888f825ed0ff398a77629fffab9bf9628;hb=f519858044a627e99244b334b7bef3f7f96fa317;hp=30a8a9602630e439ca16736d829f25bbb10d6ce8;hpb=779204b194447397d0770d96e291d9491fd731b9;p=quix0rs-gnu-social.git diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php index 30a8a96026..582a3dd888 100755 --- a/scripts/queuedaemon.php +++ b/scripts/queuedaemon.php @@ -74,8 +74,6 @@ require_once(INSTALLDIR.'/lib/daemon.php'); require_once(INSTALLDIR.'/classes/Queue_item.php'); require_once(INSTALLDIR.'/classes/Notice.php'); -define('CLAIM_TIMEOUT', 1200); - /** * Queue handling daemon... * @@ -92,7 +90,7 @@ class QueueDaemon extends SpawningDaemon function __construct($id=null, $daemonize=true, $threads=1, $allsites=false) { parent::__construct($id, $daemonize, $threads); - $this->all = $allsites; + $this->allsites = $allsites; } /** @@ -107,8 +105,8 @@ class QueueDaemon extends SpawningDaemon { $this->log(LOG_INFO, 'checking for queued notices'); - $master = new QueueMaster($this->get_id()); - $master->init($this->all); + $master = new QueueMaster($this->get_id(), $this->processManager()); + $master->init($this->allsites); try { $master->service(); } catch (Exception $e) { @@ -127,20 +125,30 @@ class QueueDaemon extends SpawningDaemon class QueueMaster extends IoMaster { + protected $processManager; + + function __construct($id, $processManager) + { + parent::__construct($id); + $this->processManager = $processManager; + } + /** - * Initialize IoManagers for the currently configured site - * which are appropriate to this instance. + * Initialize IoManagers which are appropriate to this instance. */ function initManagers() { - $classes = array(); - if (Event::handle('StartQueueDaemonIoManagers', array(&$classes))) { - $classes[] = 'QueueManager'; + $managers = array(); + if (Event::handle('StartQueueDaemonIoManagers', array(&$managers))) { + $qm = QueueManager::get(); + $qm->setActiveGroup('main'); + $managers[] = $qm; + $managers[] = $this->processManager; } - Event::handle('EndQueueDaemonIoManagers', array(&$classes)); + Event::handle('EndQueueDaemonIoManagers', array(&$managers)); - foreach ($classes as $class) { - $this->instantiate($class); + foreach ($managers as $manager) { + $this->instantiate($manager); } } }