// Number of worker tasks that are fetched in a single query.
'worker_fetch_limit' => 1,
+ // worker_jpm (Boolean)
+ // If enabled, it prints out the jobs per minute.
+ 'worker_jpm' => false,
+
// worker_load_exponent (Integer)
// Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
// For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
$processlist = '';
+ if (Config::get('system', 'worker_jpm')) {
+ $intervals = [1, 10, 60];
+ $jobs_per_minute = [];
+ foreach ($intervals as $interval) {
+ $jobs = DBA::p("SELECT COUNT(*) AS `jobs` FROM `workerqueue` WHERE `done` AND `executed` > UTC_TIMESTAMP() - INTERVAL ".intval($interval)." MINUTE");
+ if ($job = DBA::fetch($jobs)) {
+ $jobs_per_minute[$interval] = number_format($job['jobs'] / $interval, 0);
+ }
+ DBA::close($jobs);
+ }
+ $processlist = ' - jpm: '.implode('/', $jobs_per_minute);
+ }
+
if (Config::get('system', 'worker_debug')) {
// Create a list of queue entries grouped by their priority
$listitem = [];
}
DBA::close($entries);
- $intervals = [1, 10, 60];
- $jobs_per_minute = [];
- foreach ($intervals as $interval) {
- $jobs = DBA::p("SELECT COUNT(*) AS `jobs` FROM `workerqueue` WHERE `done` AND `executed` > UTC_TIMESTAMP() - INTERVAL ".intval($interval)." MINUTE");
- if ($job = DBA::fetch($jobs)) {
- $jobs_per_minute[$interval] = number_format($job['jobs'] / $interval, 0);
- }
- DBA::close($jobs);
- }
- $processlist = ' - jpm: '.implode('/', $jobs_per_minute).' ('.implode(', ', $listitem).')';
+ $processlist .= ' ('.implode(', ', $listitem).')';
}
$entries = self::totalEntries();