Azure用于节点关闭挂钩的功能?

Azure用于节点关闭挂钩的功能?,azure,azure-functions,azure-functions-runtime,Azure,Azure Functions,Azure Functions Runtime,JS Azure函数是否有关闭挂钩?C#库支持一个允许用户提供关闭钩子的函数,但是我在v2节点函数运行时的等效函数上找不到任何文档 我的用例是优雅地关闭数据库连接池。现在,有一个死锁bug(我还没有链接-我正在等待MS支持向我发送一个指向他们在电子邮件中引用的“已知问题”的链接),MS团队在运行时应用了一种变通方法,在超时时抛出一个异常以重新启动运行时: Microsoft.Azure.WebJobs.Script.WebHost.WebScriptHostExceptionHandler[0]

JS Azure函数是否有关闭挂钩?C#库支持一个允许用户提供关闭钩子的函数,但是我在v2节点函数运行时的等效函数上找不到任何文档

我的用例是优雅地关闭数据库连接池。现在,有一个死锁bug(我还没有链接-我正在等待MS支持向我发送一个指向他们在电子邮件中引用的“已知问题”的链接),MS团队在运行时应用了一种变通方法,在超时时抛出一个异常以重新启动运行时:

Microsoft.Azure.WebJobs.Script.WebHost.WebScriptHostExceptionHandler[0]
An unhandled exception has occurred. Host is shutting down.
System.TimeoutException: The operation 'ScanLogs' with id '***' did not complete in '00:02:00'.
at Microsoft.Azure.WebJobs.Extensions.Storage.TimeoutHandler.ExecuteWithTimeout[T](String operationName, String clientRequestId, IWebJobsExceptionHandler exceptionHandler, Func`1 operation) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Extensions.Storage\TimeoutHandler.cs:line 30
当这种情况发生时,函数进程立即退出,并且池中的每个连接在服务器端超时,这在数据库度量中注册为“失败的连接”

我将开始试验标准的
process.on()
hooks。也许
process.on('beforeExit')
会起作用,但由于它显然捕获了未捕获的异常,我认为它可能会直接调用process.exit(),这将绕过它,所以我想知道是否有其他人这样做过。我看了一下,但是我害怕安装任何可能干扰SDK附带的父异常处理程序以及它已经在进行的任何清理的东西