保证在AWS Lambda退出之前运行功能

时间:2019-02-23 18:53:59

标签: java amazon-web-services aws-lambda

JVM中是否有一种方法可以保证某些功能在AWS lambda函数退出之前可以运行?我想将内部缓冲区刷新到stdout,作为lambda函数中的最后一个动作,即使引发某些异常也是如此。

1 个答案:

答案 0 :(得分:1)

据我了解,无论您的执行状态是什么(运行/等待/异常处理/等),您都希望在Lambda函数停止之前执行一些代码。

这对于Lambda来说是开箱即用的,即没有事件触发或类似事件可以识别为关闭异常。一旦达到超时,JVM将被冻结。但是,您可以使用getRemainingTimeInMillis()对象中的方法Context来观察剩余的执行时间。来自docs

  

返回执行超时之前剩余的毫秒数。

因此,在初始化函数时,可以安排一个任务,该任务定期检查Lambda函数达到超时之前还剩下多少时间。然后,如果仅剩不到X(毫秒)秒,则执行Y。

相关问题