Запланированное выполнение заданий на AWS? - PullRequest
0 голосов
/ 02 мая 2019

Как часть приложения, работающего на AWS, мне нужно запланировать выполнение некоторых простых задач (например, функций лямбды), основываясь на явном указании даты и времени для каждой (не обязательно периодической). Как часть логики приложения, оно иногда добавляет / изменяет некоторые из ожидающих выполнения задач (например, вызывая некоторый API).

Есть ли простой способ сделать это с помощью сервисов AWS (или сторонних облачных сервисов, доступных через API), не поддерживая для этого свой собственный микросервис?

ОБНОВЛЕНИЕ: CloudWatch поддерживает события в стиле cron, но, похоже, он не предназначен для специальных событий (например, количество правил ограничено 100 по умолчанию).

1 Ответ

1 голос
/ 02 мая 2019

Да, вы можете сделать это.Лямбда поддерживает CloudWatch Events как триггеры;вы можете создать событие / правило Cron в CloudWatch, которое будет запускать вашу лямбду по заданному расписанию.Если вам нужны вызовы только в определенные даты и время, вы можете использовать «Cron Expression», чтобы определить эту конкретную дату / время.

Перейдите в Cloudwatch и нажмите «Правила» в левом вертикальном меню, затем нажмите «Создать правило» в правой панели:

Create CloudWatch rule

Затем нажмите на расписание и определите свое расписание, а затем нажмите «Добавить цель», и вы сможете выбрать функцию Lambda в качестве цели.

Create CloudWatch rule

Важный момент, о котором следует знать, это то, что cron ограничен одним разом в минуту;если вам нужно вызывать по расписанию быстрее, чем вам, вам нужно использовать другое решение.

Подробнее о правилах CloudWatch и настройке расписаний можно узнать здесь .

...