Performance improvements for the poller
This commit is contained in:
parent
2d7c8c79cf
commit
67b16507f1
4 changed files with 62 additions and 44 deletions
|
|
@ -239,10 +239,13 @@ function poller_kill_stale_workers() {
|
|||
$max_duration_defaults = array(PRIORITY_SYSTEM => 360, PRIORITY_HIGH => 10, PRIORITY_MEDIUM => 60, PRIORITY_LOW => 180);
|
||||
$max_duration = $max_duration_defaults[$pid["priority"]];
|
||||
|
||||
$argv = json_decode($pid["parameter"]);
|
||||
$argv[0] = basename($argv[0]);
|
||||
|
||||
// How long is the process already running?
|
||||
$duration = (time() - strtotime($pid["executed"])) / 60;
|
||||
if ($duration > $max_duration) {
|
||||
logger("Worker process ".$pid["pid"]." (".$pid["parameter"].") took more than ".$max_duration." minutes. It will be killed now.");
|
||||
logger("Worker process ".$pid["pid"]." (".implode(" ", $argv).") took more than ".$max_duration." minutes. It will be killed now.");
|
||||
posix_kill($pid["pid"], SIGTERM);
|
||||
|
||||
// We killed the stale process.
|
||||
|
|
@ -254,7 +257,7 @@ function poller_kill_stale_workers() {
|
|||
intval(PRIORITY_LOW),
|
||||
intval($pid["pid"]));
|
||||
} else
|
||||
logger("Worker process ".$pid["pid"]." now runs for ".round($duration)." of ".$max_duration." allowed minutes. That's okay.", LOGGER_DEBUG);
|
||||
logger("Worker process ".$pid["pid"]." (".implode(" ", $argv).") now runs for ".round($duration)." of ".$max_duration." allowed minutes. That's okay.", LOGGER_DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue