Azure函数挂起时出错

时间:2017-12-01 00:08:40

标签: node.js azure aws-lambda azure-functions

如果您在代码中出错并且没有回调,则Azure功能会挂起。

AWS默认检测到空循环并退出lambda并记录错误,将调用返回给调用者5xx。它也可以用callbackWaitsForEmptyEventLoop = false控制。

Azure函数中是否有任何内容可以控制函数在未处理的异常情况下应该如何存在。

2 个答案:

答案 0 :(得分:2)

Azure功能目前不支持此功能。

这是我第一次听到这个请求,但这是一个好主意。如果您为它打开GitHub问题,我可以看看。 (我是负责Azure功能上的Node.js的开发人员)https://github.com/Azure/azure-functions

答案 1 :(得分:2)

如果您使用的是Azure Functions测试版,而不是使用回调,那么您也可以将函数导出为异步,这应该允许节点工作者在没有进一步干预的情况下处理异常。 当导出异步函数时,调用回调是多余的,而且是不必要的。

示例:

module.exports = async function (context, req) {
    throw new Error('Error')
}

返回:

  

请求网址:http://localhost:7071/api/HttpTriggerJS

     

请求方法:GET

     

状态代码:500内部服务器错误

     

远程地址:[:: 1]:7071

     

推荐人政策:no-referrer-when-downgrade