Merge pull request #8641 from appwrite/fix-scheduler-across-projects

Fix: cross-project scheduler stability
This commit is contained in:
Christy Jacob 2024-09-10 14:23:26 +04:00 committed by GitHub
commit e744a7e022
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 7 additions and 6 deletions

View file

@ -74,6 +74,7 @@ abstract class ScheduleBase extends Action
);
return [
'$internalId' => $schedule->getInternalId(),
'$id' => $schedule->getId(),
'resourceId' => $schedule->getAttribute('resourceId'),
'schedule' => $schedule->getAttribute('schedule'),
@ -110,7 +111,7 @@ abstract class ScheduleBase extends Action
foreach ($results as $document) {
try {
$this->schedules[$document['resourceId']] = $getSchedule($document);
$this->schedules[$document->getInternalId()] = $getSchedule($document);
} catch (\Throwable $th) {
$collectionId = match ($document->getAttribute('resourceType')) {
'function' => 'functions',
@ -172,10 +173,10 @@ abstract class ScheduleBase extends Action
if (!$document['active']) {
Console::info("Removing: {$document['resourceId']}");
unset($this->schedules[$document['resourceId']]);
unset($this->schedules[$document->getInternalId()]);
} elseif ($new !== $org) {
Console::info("Updating: {$document['resourceId']}");
$this->schedules[$document['resourceId']] = $getSchedule($document);
$this->schedules[$document->getInternalId()] = $getSchedule($document);
}
}

View file

@ -36,7 +36,7 @@ class ScheduleExecutions extends ScheduleBase
$schedule['$id'],
);
unset($this->schedules[$schedule['resourceId']]);
unset($this->schedules[$schedule['$internalId']]);
continue;
}
@ -70,7 +70,7 @@ class ScheduleExecutions extends ScheduleBase
$schedule['$id'],
);
unset($this->schedules[$schedule['resourceId']]);
unset($this->schedules[$schedule['$internalId']]);
}
$queue->reclaim();

View file

@ -53,7 +53,7 @@ class ScheduleMessages extends ScheduleBase
$queue->reclaim();
unset($this->schedules[$schedule['resourceId']]);
unset($this->schedules[$schedule['$internalId']]);
});
}
}