【问题标题】:Is there a TIMEOUT environment variable for Lambda functions in AWS?AWS 中的 Lambda 函数是否有 TIMEOUT 环境变量?
【发布时间】:2020-12-11 20:03:24
【问题描述】:

我真的不明白为什么以前似乎没有人问过这个问题,但是是否有一个 TIMEOUT 环境变量引用了 AWS 中的 Lambda 函数中设置的超时?

它似乎不在可用的环境变量列表中,这似乎也没有意义:https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html

【问题讨论】:

    标签: amazon-web-services aws-lambda


    【解决方案1】:

    我不确定您的编程环境,但我见过的任何 Lambda 环境都包含一个 Context 对象。它能够检查 Lambda 运行还剩多少时间。以 Java 为例:

    public class ShowTimeout implements RequestStreamHandler {
    
        public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) throws IOException {
            LambdaLogger logger = context.getLogger();
    
            logger.log("there are " + context.getRemainingTimeInMillis() + "ms left to run");
        }
    }
    

    记录剩余时间。默认情况下为 3 秒,但当然可以根据您配置 Lambda 的方式进行更改。

    编辑

    这不是设定的总时间。但作为 Lambda 做的第一件事,它非常接近。对于 15 秒超时 Lambda,我得到:

    还有 14998 毫秒要运行

    还有 14999 毫秒要运行

    如果您已经启动了 Lambda,并且看起来数量太少,那么您可以采取一些措施。如果这是您喜欢我的简单代码的第一件事,那么您将非常接近。我认为简单的四舍五入就足够准确了。

    【讨论】:

    • 这实际上很有帮助,但理论上它永远不会显示 UI 仪表板上设置的确切时间,对吧?如果用户没有手动设置超时时间,如果他们没有手动设置超时时间,则可以编写检查提醒用户的确切时间。
    • 我猜它有效,我仍然认为它不理想,但这取决于亚马逊哈哈!感谢您的建议,这将是一轮!
    猜你喜欢
    • 2017-12-17
    • 2020-09-02
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2022-07-04
    • 2018-07-15
    相关资源
    最近更新 更多