Автор оригинала: Nada Jankovic.
Я должен начать этот пост с того, что скажу, что люблю AWS lambda. Это облегчает мою жизнь как разработчика, когда дело доходит до создания приложений.
Я писал код для функции, с помощью которой Лямбда будет вызывать себя до истечения времени ожидания, чтобы закончить выполнение назначенной ей задачи обработки. Это сработало отлично, но в какой-то момент я хотел остановить свою лямбду. Я думал, что установка опции дросселирования означает, что с этого момента никакая лямбда не может быть запущена, таким образом, это остановит мою лямбду от повторного вызова после завершения ее выполнения. Конечно, этого не произошло.
Дросселирование означало, что в этот момент ни одна функция не может быть запущена, потому что число выполняемых процессов одновременно было установлено равным 0. После сброса его на 1 эта лямбда продолжила свое выполнение там, где остановилась. Единственный способ остановить его-это повторно развернуть мой код с помощью sys.exit(0)
, что привело к успешному завершению лямбды (с 3 повторными попытками, но это сработало!).
Это небольшая уловка, но тем не менее открывающая мне разум в тот день.