Mute warnings in pidfile/Quit poller after an hour.

This commit is contained in:
Michael Vogel 2015-09-25 17:38:56 +02:00
parent f8e4a71eda
commit 173d1390df
2 changed files with 10 additions and 4 deletions

View File

@ -7,8 +7,8 @@ class pidfile {
$this->_file = "$dir/$name.pid"; $this->_file = "$dir/$name.pid";
if (file_exists($this->_file)) { if (file_exists($this->_file)) {
$pid = trim(file_get_contents($this->_file)); $pid = trim(@file_get_contents($this->_file));
if (posix_kill($pid, 0)) { if (($pid != "") AND posix_kill($pid, 0)) {
$this->_running = true; $this->_running = true;
} }
} }
@ -21,7 +21,7 @@ class pidfile {
public function __destruct() { public function __destruct() {
if ((! $this->_running) && file_exists($this->_file)) { if ((! $this->_running) && file_exists($this->_file)) {
unlink($this->_file); @unlink($this->_file);
} }
} }
@ -30,7 +30,7 @@ class pidfile {
} }
public function running_time() { public function running_time() {
return(time() - filectime($this->_file)); return(time() - @filectime($this->_file));
} }
public function kill() { public function kill() {

View File

@ -66,6 +66,8 @@ function poller_run(&$argv, &$argc){
if ($workers[0]["workers"] >= $queues) if ($workers[0]["workers"] >= $queues)
return; return;
$starttime = time();
while ($r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `created` LIMIT 1")) { while ($r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `created` LIMIT 1")) {
if(function_exists('sys_getloadavg')) { 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", q("UPDATE `workerqueue` SET `executed` = '%s', `pid` = %d WHERE `id` = %d",
dbesc(datetime_convert()), dbesc(datetime_convert()),
intval(getmypid()), intval(getmypid()),