diff --git a/config/defaults.config.php b/config/defaults.config.php index f81e84b0af..c1ecbb4217 100644 --- a/config/defaults.config.php +++ b/config/defaults.config.php @@ -397,9 +397,9 @@ return [ // If enabled, it prints out the jobs per minute. 'worker_jpm' => false, - // worker_jpm_limit (String) + // worker_jpm_range (String) // List of minutes for the jobs per minute (JPM) calculation - 'worker_jpm_limit' => '1, 10, 60', + 'worker_jpm_range' => '1, 10, 60', // worker_load_exponent (Integer) // Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load. diff --git a/src/Core/Worker.php b/src/Core/Worker.php index c8a4c038bb..206a300ee4 100644 --- a/src/Core/Worker.php +++ b/src/Core/Worker.php @@ -718,6 +718,12 @@ class Worker $intervals = explode(',', Config::get('system', 'worker_jpm_range')); $jobs_per_minute = []; foreach ($intervals as $interval) { + if ($interval == 0) { + continue; + } else { + $interval = (int)$interval; + } + $stamp = (float)microtime(true); $jobs = DBA::p("SELECT COUNT(*) AS `jobs` FROM `workerqueue` WHERE `done` AND `executed` > UTC_TIMESTAMP() - INTERVAL ? MINUTE", $interval); self::$db_duration += (microtime(true) - $stamp);