如果Lambda超时,如何获得用户响应?

时间:2018-10-26 02:19:30

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

我有一个lambda函数,可通过API向用户订阅新闻通讯,但是我想知道如何在Lambda等待新闻通讯API超时的情况下向用户发送错误消息。

有没有办法说:

if (timeout) { return 500 }

如果它是lambda @ edge怎么办?然后超时是否会回到我的原始服务器?

1 个答案:

答案 0 :(得分:1)

GitHub - stelligent/cloudformation-custom-resources上的代码示例包括一些在可用时间到期时中止Lambda函数的示例。

Python示例包含代码:

# Setup alarm for remaining runtime minus a second
signal.alarm((context.get_remaining_time_in_millis() / 1000) - 1)

def timeout_handler(_signal, _frame):
    '''Handle SIGALRM'''
    raise Exception('Time exceeded')

signal.signal(signal.SIGALRM, timeout_handler)