From 5f144f91adbb51f21f3dabf21def612e7b6834f3 Mon Sep 17 00:00:00 2001 From: loks0n <22452787+loks0n@users.noreply.github.com> Date: Mon, 17 Jun 2024 14:12:02 +0100 Subject: [PATCH] chore: matej review --- .../Platform/Tasks/ScheduleExecutions.php | 42 ++++++++----------- .../Platform/Tasks/ScheduleFunctions.php | 7 ---- 2 files changed, 18 insertions(+), 31 deletions(-) diff --git a/src/Appwrite/Platform/Tasks/ScheduleExecutions.php b/src/Appwrite/Platform/Tasks/ScheduleExecutions.php index 14d5632000..b0f03a35ea 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleExecutions.php +++ b/src/Appwrite/Platform/Tasks/ScheduleExecutions.php @@ -3,7 +3,6 @@ namespace Appwrite\Platform\Tasks; use Appwrite\Event\Func; -use Cron\CronExpression; use Utopia\Database\Database; use Utopia\Pools\Group; @@ -24,8 +23,12 @@ class ScheduleExecutions extends ScheduleBase protected function enqueueResources(Group $pools, Database $dbForConsole): void { + $queue = $pools->get('queue')->pop(); + $connection = $queue->getResource(); + $queueForFunctions = new Func($connection); + foreach ($this->schedules as $schedule) { - if (!$schedule['active'] || CronExpression::isValidExpression($schedule['schedule'])) { + if (!$schedule['active']) { unset($this->schedules[$schedule['resourceId']]); continue; } @@ -37,30 +40,21 @@ class ScheduleExecutions extends ScheduleBase continue; } - \go(function () use ($schedule, $pools, $dbForConsole) { - $queue = $pools->get('queue')->pop(); - $connection = $queue->getResource(); + $queueForFunctions + ->setType('schedule') + ->setFunctionId($schedule['resource']['functionId']) + ->setExecution($schedule['resource']) + ->setProject($schedule['project']) + ->trigger(); - $queueForFunctions = new Func($connection); + $dbForConsole->deleteDocument( + 'schedules', + $schedule['$id'], + ); - $queueForFunctions - ->setType('schedule') - ->setFunctionId($schedule['resource']['functionId']) - ->setExecution($schedule['resource']) - ->setMethod('POST') - ->setPath('/') - ->setProject($schedule['project']) - ->trigger(); - - $dbForConsole->deleteDocument( - 'schedules', - $schedule['$id'], - ); - - $queue->reclaim(); - - unset($this->schedules[$schedule['resourceId']]); - }); + unset($this->schedules[$schedule['resourceId']]); } + + $queue->reclaim(); } } diff --git a/src/Appwrite/Platform/Tasks/ScheduleFunctions.php b/src/Appwrite/Platform/Tasks/ScheduleFunctions.php index 6ea972af1e..e4832d7435 100644 --- a/src/Appwrite/Platform/Tasks/ScheduleFunctions.php +++ b/src/Appwrite/Platform/Tasks/ScheduleFunctions.php @@ -41,11 +41,6 @@ class ScheduleFunctions extends ScheduleBase $delayedExecutions = []; // Group executions with same delay to share one coroutine foreach ($this->schedules as $key => $schedule) { - if (!$schedule['active'] || !CronExpression::isValidExpression($schedule['schedule'])) { - unset($this->schedules[$schedule['resourceId']]); - continue; - } - $cron = new CronExpression($schedule['schedule']); $nextDate = $cron->getNextRunDate(); $next = DateTime::format($nextDate); @@ -89,8 +84,6 @@ class ScheduleFunctions extends ScheduleBase $queueForFunctions ->setType('schedule') ->setFunction($schedule['resource']) - ->setMethod('POST') - ->setPath('/') ->setProject($schedule['project']) ->trigger(); }