diff options
-rw-r--r-- | inc/taskmanager.inc.php | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php index 85d5ee39..f7c72e04 100644 --- a/inc/taskmanager.inc.php +++ b/inc/taskmanager.inc.php @@ -140,7 +140,8 @@ class Taskmanager return false; $done = false; $deadline = microtime(true) + $timeout / 1000; - do { + while (($remaining = $deadline - microtime(true)) > 0) { + usleep(min(100000, $remaining * 100000)); $status = self::status($task); if (!isset($status['statusCode'])) break; @@ -148,8 +149,7 @@ class Taskmanager $done = true; break; } - usleep(100000); - } while (microtime(true) < $deadline); + } if ($done) { // For now we do this unconditionally, but maybe we want to keep them longer some time? self::release($task); } |