From c4b205765eb919db7410d14d1c25d8594c7679aa Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sun, 18 Jun 2023 13:02:33 +0000 Subject: [PATCH] Fix execution time bug --- Controller/ApiController.php | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/Controller/ApiController.php b/Controller/ApiController.php index d2157de..8adfd92 100755 --- a/Controller/ApiController.php +++ b/Controller/ApiController.php @@ -27,6 +27,7 @@ use Modules\OnlineResourceWatcher\Models\Resource; use Modules\OnlineResourceWatcher\Models\ResourceMapper; use Modules\OnlineResourceWatcher\Models\ResourceStatus; use Modules\OnlineResourceWatcher\Models\SettingsEnum as OrwSettingsEnum; +use phpOMS\Log\FileLogger; use phpOMS\Message\Http\HttpRequest; use phpOMS\Message\Http\RequestStatusCode; use phpOMS\Message\NotificationLevel; @@ -291,7 +292,13 @@ final class ApiController extends Controller true ); } catch (\Throwable $t) { - $this->app->logger->error($t->getMessage()); + $this->app->logger->error( + FileLogger::MSG_FULL, [ + 'message' => $t->getMessage(), + 'line' => __LINE__, + 'file' => self::class, + ] + ); } } @@ -323,7 +330,7 @@ final class ApiController extends Controller $totalCount = \count($toCheck); $maxLoops = (int) \min(60 * 10, $totalCount * 10 / 4); // At most run 600 times or 2.5 times the resource count $startTime = \time(); - $minTime = $startTime + ((int) \min(10 * $totalCount, 60 * 5)); // At least run 10 seconds per element or 5 minutes + $minTime = $startTime + ((int) \max(10 * $totalCount, 60 * 5)); // At least run 10 seconds per element or 5 minutes $maxTime = $startTime + ((int) \min(60 * $totalCount, 60 * 60 * 3)); // At most run 60 seconds per element or 3 hours while (!empty($toCheck)) { @@ -351,7 +358,13 @@ final class ApiController extends Controller unset($toCheck[$index]); - $this->app->logger->warning('Resource "' . $resource->id . ': ' . $resource->uri . '" took too long to download.'); + $this->app->logger->warning( + FileLogger::MSG_FULL, [ + 'message' => 'Resource "' . $resource->id . ': ' . $resource->uri . '" took too long to download.', + 'line' => __LINE__, + 'file' => self::class, + ] + ); continue; } @@ -435,7 +448,13 @@ final class ApiController extends Controller true ); } catch (\Throwable $t) { - $this->app->logger->error($t->getMessage()); + $this->app->logger->error( + FileLogger::MSG_FULL, [ + 'message' => $t->getMessage(), + 'line' => __LINE__, + 'file' => self::class, + ] + ); } } @@ -558,7 +577,13 @@ final class ApiController extends Controller true ); } catch (\Throwable $t) { - $this->app->logger->error($t->getMessage()); + $this->app->logger->error( + FileLogger::MSG_FULL, [ + 'message' => $t->getMessage(), + 'line' => __LINE__, + 'file' => self::class, + ] + ); } }