Как запланировать код для указанной даты c на архитектуре без сервера - PullRequest
1 голос
/ 30 января 2020

Я знаю, что есть способы реализации заданий cron в безсерверной архитектуре, так что указанный код c вызывается с периодической c скоростью, но я хочу запланировать разное время для разных кодов.

В идеале у меня будет добавлена ​​очередь с событиями, и у каждого события будет дата, в которую он будет удален из очереди и отправлен в функцию. Но во время поиска в Google я не смог найти ни одной подобной архитектуры, только периоды c, повторяющиеся, планирующие, например, «звонить каждые 60 секунд».

Существуют ли такие широко распространенные архитектуры, как эта?

1 Ответ

0 голосов
/ 30 января 2020

Вы можете создать правило события CloudWatch для каждого времени. Если они основаны только на определенном c моменте времени (например, 31 января в 13:00) и не повторяются (например, каждый день в 14:00), вы можете заставить лямбду-правило удалить после выполнения.

Если времена огромные, и это решение не очень масштабируемое, вы можете запускать лямбда-выражения каждую минуту (или любую приемлемую для вас частоту) и получать лямбда-считывание записей из таблицы DynamoDB с помощью раз в этом. Вы можете поместить значение времени в ключ сортировки в GSI и запросить записи, которые были в прошлом и еще не были выполнены. Выполнив свою работу, вы обновите запись DynamoDB, чтобы она не возвращалась в будущих прогонах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...