X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=scripts%2Fqueuedaemon.php;h=d372d898fa23f3d7a003973ac5e9edf4c36a20a0;hb=c201baffbfbf812ecba504e6829dd9e9d17a4bac;hp=c2e2351c3910e307331303c0509e30692f89b012;hpb=58be61b6417119de1b03ef50e166369c4005e4d1;p=quix0rs-gnu-social.git diff --git a/scripts/queuedaemon.php b/scripts/queuedaemon.php index c2e2351c39..d372d898fa 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; } /** @@ -108,8 +106,14 @@ class QueueDaemon extends SpawningDaemon $this->log(LOG_INFO, 'checking for queued notices'); $master = new QueueMaster($this->get_id()); - $master->init($this->all); - $master->service(); + $master->init($this->allsites); + try { + $master->service(); + } catch (Exception $e) { + common_log(LOG_ERR, "Unhandled exception: " . $e->getMessage() . ' ' . + str_replace("\n", " ", $e->getTraceAsString())); + return self::EXIT_ERR; + } $this->log(LOG_INFO, 'finished servicing the queue'); @@ -127,14 +131,16 @@ class QueueMaster extends IoMaster */ 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; } - Event::handle('EndQueueDaemonIoManagers', array(&$classes)); + Event::handle('EndQueueDaemonIoManagers', array(&$managers)); - foreach ($classes as $class) { - $this->instantiate($class); + foreach ($managers as $manager) { + $this->instantiate($manager); } } }