Bugfix for the maximum load check in worker.
authorMichael Vogel <icarus@dabo.de>
Tue, 15 Dec 2015 23:14:53 +0000 (00:14 +0100)
committerMichael Vogel <icarus@dabo.de>
Tue, 15 Dec 2015 23:14:53 +0000 (00:14 +0100)
include/poller.php

index fd6f3922aa925f5d0dcbd6178528b5a1b610a04a..b1d6099ad343271e8f4c2d2ca65a879406c98a74 100644 (file)
@@ -72,6 +72,10 @@ function poller_run(&$argv, &$argc){
 
        while ($r = q("SELECT * FROM `workerqueue` WHERE `executed` = '0000-00-00 00:00:00' ORDER BY `created` LIMIT 1")) {
 
+               // Count active workers and compare them with a maximum value that depends on the load
+               if (poller_too_much_workers(3))
+                       return;
+
                q("UPDATE `workerqueue` SET `executed` = '%s', `pid` = %d WHERE `id` = %d AND `executed` = '0000-00-00 00:00:00'",
                        dbesc(datetime_convert()),
                        intval(getmypid()),
@@ -116,10 +120,6 @@ function poller_run(&$argv, &$argc){
                // Quit the poller once every hour
                if (time() > ($starttime + 3600))
                        return;
-
-               // Count active workers and compare them with a maximum value that depends on the load
-               if (poller_too_much_workers(3))
-                       return;
        }
 
 }