From 173d1390df9e7fbe1a23ce3e67c1b9ea6ddcb1f5 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 25 Sep 2015 17:38:56 +0200 Subject: [PATCH] Mute warnings in pidfile/Quit poller after an hour. --- include/pidfile.php | 8 ++++---- include/poller.php | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/pidfile.php b/include/pidfile.php index 4f5b25ad7..3093e149a 100644 --- a/include/pidfile.php +++ b/include/pidfile.php @@ -7,8 +7,8 @@ class pidfile { $this->_file = "$dir/$name.pid"; if (file_exists($this->_file)) { - $pid = trim(file_get_contents($this->_file)); - if (posix_kill($pid, 0)) { + $pid = trim(@file_get_contents($this->_file)); + if (($pid != "") AND posix_kill($pid, 0)) { $this->_running = true; } } @@ -21,7 +21,7 @@ class pidfile { public function __destruct() { if ((! $this->_running) && file_exists($this->_file)) { - unlink($this->_file); + @unlink($this->_file); } } @@ -30,7 +30,7 @@ class pidfile { } public function running_time() { - return(time() - filectime($this->_file)); + return(time() - @filectime($this->_file)); } public function kill() { diff --git a/include/poller.php b/include/poller.php index c919b9d2a..7255eaa6e 100644 --- a/include/poller.php +++ b/include/poller.php @@ -66,6 +66,8 @@ function poller_run(&$argv, &$argc){ if ($workers[0]["workers"] >= $queues) return; + $starttime = time(); + while ($r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `created` LIMIT 1")) { if(function_exists('sys_getloadavg')) { @@ -76,6 +78,10 @@ function poller_run(&$argv, &$argc){ } } + // Quit the poller once every hour + if (time() > ($starttime + 3600)) + return; + q("UPDATE `workerqueue` SET `executed` = '%s', `pid` = %d WHERE `id` = %d", dbesc(datetime_convert()), intval(getmypid()),