The workerqueue is now using a view as well
This commit is contained in:
parent
89dcab774d
commit
1c980c5b29
|
@ -684,7 +684,7 @@ class Worker
|
||||||
self::$db_duration_stat += (microtime(true) - $stamp);
|
self::$db_duration_stat += (microtime(true) - $stamp);
|
||||||
while ($entry = DBA::fetch($jobs)) {
|
while ($entry = DBA::fetch($jobs)) {
|
||||||
$stamp = (float)microtime(true);
|
$stamp = (float)microtime(true);
|
||||||
$processes = DBA::p("SELECT COUNT(*) AS `running` FROM `process` INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid` WHERE NOT `done` AND `priority` = ?", $entry["priority"]);
|
$processes = DBA::p("SELECT COUNT(*) AS `running` FROM `workerqueue-view` WHERE `priority` = ?", $entry["priority"]);
|
||||||
self::$db_duration += (microtime(true) - $stamp);
|
self::$db_duration += (microtime(true) - $stamp);
|
||||||
self::$db_duration_stat += (microtime(true) - $stamp);
|
self::$db_duration_stat += (microtime(true) - $stamp);
|
||||||
if ($process = DBA::fetch($processes)) {
|
if ($process = DBA::fetch($processes)) {
|
||||||
|
@ -698,7 +698,7 @@ class Worker
|
||||||
} else {
|
} else {
|
||||||
$waiting_processes = self::totalEntries();
|
$waiting_processes = self::totalEntries();
|
||||||
$stamp = (float)microtime(true);
|
$stamp = (float)microtime(true);
|
||||||
$jobs = DBA::p("SELECT COUNT(*) AS `running`, `priority` FROM `process` INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid` AND NOT `done` GROUP BY `priority` ORDER BY `priority`");
|
$jobs = DBA::p("SELECT COUNT(*) AS `running`, `priority` FROM `workerqueue-view` GROUP BY `priority` ORDER BY `priority`");
|
||||||
self::$db_duration += (microtime(true) - $stamp);
|
self::$db_duration += (microtime(true) - $stamp);
|
||||||
self::$db_duration_stat += (microtime(true) - $stamp);
|
self::$db_duration_stat += (microtime(true) - $stamp);
|
||||||
|
|
||||||
|
@ -839,9 +839,7 @@ class Worker
|
||||||
$running = [];
|
$running = [];
|
||||||
$running_total = 0;
|
$running_total = 0;
|
||||||
$stamp = (float)microtime(true);
|
$stamp = (float)microtime(true);
|
||||||
$processes = DBA::p("SELECT COUNT(DISTINCT(`process`.`pid`)) AS `running`, `priority` FROM `process`
|
$processes = DBA::p("SELECT COUNT(DISTINCT(`pid`)) AS `running`, `priority` FROM `workerqueue-view` GROUP BY `priority`");
|
||||||
INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid`
|
|
||||||
WHERE NOT `done` GROUP BY `priority`");
|
|
||||||
self::$db_duration += (microtime(true) - $stamp);
|
self::$db_duration += (microtime(true) - $stamp);
|
||||||
while ($process = DBA::fetch($processes)) {
|
while ($process = DBA::fetch($processes)) {
|
||||||
$running[$process['priority']] = $process['running'];
|
$running[$process['priority']] = $process['running'];
|
||||||
|
|
|
@ -209,5 +209,14 @@ return [
|
||||||
INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid`
|
INNER JOIN `contact` ON `register`.`uid` = `contact`.`uid`
|
||||||
INNER JOIN `user` ON `register`.`uid` = `user`.`uid`"
|
INNER JOIN `user` ON `register`.`uid` = `user`.`uid`"
|
||||||
],
|
],
|
||||||
|
"workerqueue-view" => [
|
||||||
|
"fields" => [
|
||||||
|
"pid" => ["process", "pid"],
|
||||||
|
"priority" => ["workerqueue", "priority"],
|
||||||
|
],
|
||||||
|
"query" => "FROM `process`
|
||||||
|
INNER JOIN `workerqueue` ON `workerqueue`.`pid` = `process`.`pid`
|
||||||
|
WHERE NOT `workerqueue`.`done`"
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue