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";
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() {

View file

@ -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()),