Lambda是否有可能在返回状态代码为202
之类的响应后继续处理,然后Lambda必须在结束Lambda之前调用请求?
答案 0 :(得分:2)
关于函数从Lambda docs返回响应之前启动的后台进程或回调:
如果AWS Lambda选择重用执行上下文,则由Lambda函数启动的,未完成的后台进程或回调将在函数结束时恢复。您应确保在代码退出之前完成代码中的所有后台进程或回调。
编写Lambda函数代码时,请勿假定AWS Lambda自动将执行上下文重新用于后续函数调用。其他因素可能表明需要AWS Lambda创建新的执行上下文,这可能导致意外结果,例如数据库连接失败。
另外使用non-async handlers用于Node.js Lambda函数:
对于非异步处理程序,函数将继续执行,直到事件循环为空或函数超时为止。直到所有事件循环任务完成后,响应才会发送给调用者。如果函数超时,则返回错误。通过将
context.callbackWaitsForEmptyEventLoop
设置为false,可以将运行时配置为立即发送响应。
答案 1 :(得分:1)
仅使用AWS Lambda是不可能的。
您可能想研究AWS Step Functions才能解决您的问题。