Гарантированное выполнение функции до выхода из AWS-лямбды - PullRequest
0 голосов
/ 23 февраля 2019

Есть ли способ в JVM гарантировать, что какая-то функция будет работать до выхода из лямбда-функции AWS?Я хотел бы сбросить внутренний буфер в stdout как последнее действие в лямбда-функции, даже если выдается какое-то исключение.

1 Ответ

0 голосов
/ 24 февраля 2019

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

Это невозможно из-заполе с лямбдой, то есть не происходит событие или что-то подобное, что можно определить как отключение.JVM будет зависать, как только вы истечете время ожидания.Однако вы можете наблюдать оставшееся время выполнения, используя метод getRemainingTimeInMillis() из объекта Context.Из документов :

Возвращает количество миллисекунд, оставшихся до истечения времени выполнения.

Итак, при инициализации вашей функции вы можете запланироватьзадача, которая регулярно проверяет, сколько времени осталось, пока ваша функция Lambda не достигнет тайм-аута.Затем, если осталось менее X (милли) секунд, вы делаете Y.

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