From 8941af0677da7f3c8c78fdeabae48fbc1104504e Mon Sep 17 00:00:00 2001 From: shimon Date: Thu, 29 Dec 2022 13:32:00 +0200 Subject: [PATCH] minor adjustments --- app/controllers/shared/api.php | 2 ++ app/workers/usage.php | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index ea2def52b..a337ad7af 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -198,6 +198,8 @@ App::init() $route = $utopia->match($request); + var_dump($route->getPath()); + if ($project->isEmpty() && $route->getLabel('abuse-limit', 0) > 0) { // Abuse limit requires an active project scope throw new Exception(Exception::PROJECT_UNKNOWN); } diff --git a/app/workers/usage.php b/app/workers/usage.php index ca54f7663..0d2f5d05b 100644 --- a/app/workers/usage.php +++ b/app/workers/usage.php @@ -43,7 +43,7 @@ Server::setResource('reduce', function (Cache $cache, Registry $register, $pools $dbForProject->setNamespace('_' . $projectInternalId); switch (true) { - case $document->getCollection() === 'users': + case $document->getCollection() === 'users': // users $sessions = count($document->getAttribute('sessions', 0)); if (!empty($sessions)) { $metrics[] = [ @@ -60,6 +60,8 @@ Server::setResource('reduce', function (Cache $cache, Registry $register, $pools 'key' => 'collections', 'value' => ($collections['value'] * -1), ]; + } + if (!empty($documents['value'])) { $metrics[] = [ 'key' => 'documents', 'value' => ($documents['value'] * -1), @@ -149,7 +151,7 @@ Server::setResource('reduce', function (Cache $cache, Registry $register, $pools break; } } catch (\Exception $e) { - console::error($e->getMessage()); + console::error("[reducer] " . " {DateTime::now()} " . " {$projectInternalId} " . " {$e->getMessage()}"); } finally { $pools->reclaim(); } @@ -168,10 +170,14 @@ $server->job() $projectId = $project->getInternalId(); foreach ($payload['reduce'] ?? [] as $document) { + if (empty($document)) { + continue; + } + $reduce( database: $project->getAttribute('database'), projectInternalId: $project->getInternalId(), - document: new Document($document ?? []), + document: new Document($document), metrics: $payload['metrics'], ); } @@ -253,7 +259,7 @@ $server 'metrics' => $project['keys'], ])); } catch (\Exception $e) { - console::error($e->getMessage()); + console::error("[logger] " . " {DateTime::now()} " . " {$projectInternalId} " . " {$e->getMessage()}"); } finally { $pools->reclaim(); }