From 43fb92ca83845da8adcbf5d57d0f9dc89a005768 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Wed, 30 Apr 2025 13:04:19 +1200 Subject: [PATCH] Set publisher on base --- src/Appwrite/Platform/Tasks/ScheduleBase.php | 5 +++++ src/Appwrite/Platform/Tasks/ScheduleExecutions.php | 5 +---- src/Appwrite/Platform/Tasks/ScheduleMessages.php | 4 +--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Appwrite/Platform/Tasks/ScheduleBase.php b/src/Appwrite/Platform/Tasks/ScheduleBase.php index 69ad75316b..7b78826491 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleBase.php +++ b/src/Appwrite/Platform/Tasks/ScheduleBase.php @@ -12,6 +12,7 @@ use Utopia\Database\Query; use Utopia\Database\Validator\Authorization; use Utopia\Platform\Action; use Utopia\Pools\Group; +use Utopia\Queue\Broker\Pool as BrokerPool; use Utopia\System\System; use function Swoole\Coroutine\run; @@ -23,6 +24,8 @@ abstract class ScheduleBase extends Action protected array $schedules = []; + protected BrokerPool $publisher; + abstract public static function getName(): string; abstract public static function getSupportedResource(): string; abstract public static function getCollectionId(): string; @@ -61,6 +64,8 @@ abstract class ScheduleBase extends Action Console::title(\ucfirst(static::getSupportedResource()) . ' scheduler V1'); Console::success(APP_NAME . ' ' . \ucfirst(static::getSupportedResource()) . ' scheduler v1 has started'); + $this->publisher = new BrokerPool($pools->get('publisher')); + /** * Extract only necessary attributes to lower memory used. * diff --git a/src/Appwrite/Platform/Tasks/ScheduleExecutions.php b/src/Appwrite/Platform/Tasks/ScheduleExecutions.php index edb57f4df7..3524793e4f 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleExecutions.php +++ b/src/Appwrite/Platform/Tasks/ScheduleExecutions.php @@ -5,7 +5,6 @@ namespace Appwrite\Platform\Tasks; use Appwrite\Event\Func; use Utopia\Database\Database; use Utopia\Pools\Group; -use Utopia\Queue\Broker\Pool as BrokerPool; class ScheduleExecutions extends ScheduleBase { @@ -59,9 +58,7 @@ class ScheduleExecutions extends ScheduleBase \go(function () use ($schedule, $delay, $data, $pools) { \Co::sleep($delay); - $publisher = new BrokerPool($pools->get('publisher')); - - $queueForFunctions = new Func($publisher); + $queueForFunctions = new Func($this->publisher); $queueForFunctions->setType('schedule') // Set functionId instead of function as we don't have $dbForProject diff --git a/src/Appwrite/Platform/Tasks/ScheduleMessages.php b/src/Appwrite/Platform/Tasks/ScheduleMessages.php index bbd3e0c8c3..2aa248c073 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleMessages.php +++ b/src/Appwrite/Platform/Tasks/ScheduleMessages.php @@ -42,9 +42,7 @@ class ScheduleMessages extends ScheduleBase } \go(function () use ($schedule, $pools, $dbForPlatform) { - $publisher = new BrokerPool($pools->get('publisher')); - - $queueForMessaging = new Messaging($publisher); + $queueForMessaging = new Messaging($this->publisher); $this->updateProjectAccess($schedule['project'], $dbForPlatform);