如何在 aws lambda 超时时释放 resdhift 资源?

Posted

技术标签:

【中文标题】如何在 aws lambda 超时时释放 resdhift 资源?【英文标题】:How can I release resdhift resources on aws lambda timeout? 【发布时间】:2017-08-14 11:25:49 【问题描述】:

我无法在 lambda 超时时发现错误。我想释放表上的几个写锁是 lambda 超时。

【问题讨论】:

如果您的进程运行时间较长,使用 Lambda 可能不是一个好主意。选择 Data Pipeline 或 lightsail(还没用过这个)。 Lambda 有助于执行大量微小的任务,而无需实际维护服务器。 nightgaunt 感谢您的快速回复。通过我的脚本并没有花费太多时间,即使有些超时,我如何释放数据库资源。实际上我无法在我的代码中发现 lambda 超时错误。我正在使用python 2.7。我想捕获超时错误并想释放数据库资源。如果您知道如何在我的代码中检测到我的 lambda 是否已超时。这对我真的很有帮助。 您要“释放”哪些“数据库资源”? 我已经在 lambda 的事务块内锁定了 redshift 表,如果 lambda 超时,我想释放表上的锁。现在我不知道如何释放锁,并且由于这个锁,同一/其他用户不能运行任何其他查询。 【参考方案1】:

无法“捕捉” AWS Lambda 超时。当您的 Lambda 函数超时时,您的代码就会停止。

您需要 (a) 避免代码超时,并且 (b) 如果超时,您的代码必须正常。

如果您无法做到以上几点,那么 Lambda 可能不是适合您的用例的服务。

【讨论】:

以上是关于如何在 aws lambda 超时时释放 resdhift 资源?的主要内容,如果未能解决你的问题,请参考以下文章

AWS Cloudwatch - 在 15 分钟的 lambda 超时时不发送警报邮件

AWS Lambda 中的资源释放

AWS lambda - 每次执行后释放 /tmp 存储

会话超时时如何自动刷新

带有Java的AWS Lambda无法从S3获取文件

如何在会话超时时关闭所有活动的引导模式?