From 68c3aa30784781e882ffc5581fc2da257ab5d72c Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Wed, 5 Feb 2025 09:53:29 +0000 Subject: [PATCH] update to use publisher --- src/Appwrite/Event/StatsResources.php | 17 +++-------------- src/Appwrite/Event/StatsUsage.php | 18 ++++++++---------- src/Appwrite/Event/StatsUsageDump.php | 6 +++--- src/Appwrite/Platform/Workers/StatsUsage.php | 2 +- src/Appwrite/Platform/Workers/Usage.php | 2 +- 5 files changed, 16 insertions(+), 29 deletions(-) diff --git a/src/Appwrite/Event/StatsResources.php b/src/Appwrite/Event/StatsResources.php index d08e1b2c8e..e7a3df97e0 100644 --- a/src/Appwrite/Event/StatsResources.php +++ b/src/Appwrite/Event/StatsResources.php @@ -2,13 +2,13 @@ namespace Appwrite\Event; -use Utopia\Queue\Connection; +use Utopia\Queue\Publisher; class StatsResources extends Event { - public function __construct(protected Connection $connection) + public function __construct(protected Publisher $publisher) { - parent::__construct($connection); + parent::__construct($publisher); $this ->setQueue(Event::STATS_RESOURCES_QUEUE_NAME) @@ -26,15 +26,4 @@ class StatsResources extends Event 'project' => $this->project ]; } - - /** - * Sends metrics to the usage worker. - * - * @return string|bool - */ - public function trigger(): string|bool - { - parent::trigger(); - return true; - } } diff --git a/src/Appwrite/Event/StatsUsage.php b/src/Appwrite/Event/StatsUsage.php index a1c027f797..bed25419f6 100644 --- a/src/Appwrite/Event/StatsUsage.php +++ b/src/Appwrite/Event/StatsUsage.php @@ -3,17 +3,16 @@ namespace Appwrite\Event; use Utopia\Database\Document; -use Utopia\Queue\Client; -use Utopia\Queue\Connection; +use Utopia\Queue\Publisher; class StatsUsage extends Event { protected array $metrics = []; protected array $reduce = []; - public function __construct(protected Connection $connection) + public function __construct(protected Publisher $publisher) { - parent::__construct($connection); + parent::__construct($publisher); $this ->setQueue(Event::STATS_USAGE_QUEUE_NAME) @@ -51,17 +50,16 @@ class StatsUsage extends Event } /** - * Sends metrics to the usage worker. + * Prepare the payload for the event * - * @return string|bool + * @return array */ - public function trigger(): string|bool + protected function preparePayload(): array { - $client = new Client($this->queue, $this->connection); - return $client->enqueue([ + return [ 'project' => $this->getProject(), 'reduce' => $this->reduce, 'metrics' => $this->metrics, - ]); + ]; } } diff --git a/src/Appwrite/Event/StatsUsageDump.php b/src/Appwrite/Event/StatsUsageDump.php index 3cd38eca92..0573a88040 100644 --- a/src/Appwrite/Event/StatsUsageDump.php +++ b/src/Appwrite/Event/StatsUsageDump.php @@ -2,15 +2,15 @@ namespace Appwrite\Event; -use Utopia\Queue\Connection; +use Utopia\Queue\Publisher; class StatsUsageDump extends Event { protected array $stats; - public function __construct(protected Connection $connection) + public function __construct(protected Publisher $publisher) { - parent::__construct($connection); + parent::__construct($publisher); $this ->setQueue(Event::STATS_USAGE_DUMP_QUEUE_NAME) diff --git a/src/Appwrite/Platform/Workers/StatsUsage.php b/src/Appwrite/Platform/Workers/StatsUsage.php index 1bdf44d607..7289d01b44 100644 --- a/src/Appwrite/Platform/Workers/StatsUsage.php +++ b/src/Appwrite/Platform/Workers/StatsUsage.php @@ -58,7 +58,7 @@ class StatsUsage extends Action } //Todo Figure out way to preserve keys when the container is being recreated @shimonewman - $aggregationInterval = (int) System::getEnv('_APP_USAGE_AGGREGATION_INTERVAL', '20'); + $aggregationInterval = (int) System::getEnv('_APP_STATS_AGGREGATION_INTERVAL', '20'); $project = new Document($payload['project'] ?? []); $projectId = $project->getInternalId(); foreach ($payload['reduce'] ?? [] as $document) { diff --git a/src/Appwrite/Platform/Workers/Usage.php b/src/Appwrite/Platform/Workers/Usage.php index 3687eeab67..1380d223df 100644 --- a/src/Appwrite/Platform/Workers/Usage.php +++ b/src/Appwrite/Platform/Workers/Usage.php @@ -41,7 +41,7 @@ class Usage extends Action $this->action($message, $project, $getProjectDB, $queueForUsageDump); }); - $this->aggregationInterval = (int) System::getEnv('_APP_USAGE_AGGREGATION_INTERVAL', '20'); + $this->aggregationInterval = (int) System::getEnv('_APP_STATS_AGGREGATION_INTERVAL', '20'); $this->lastTriggeredTime = time(); }