Azure函数分配失败-JavaScript堆内存不足

时间:2018-12-17 14:49:38

标签: node.js azure docker azure-storage azure-functions

我在寻找解决此问题的方法时遇到了很大的麻烦。 我有几个时间触发功能,可以执行不同的任务。我面临的问题是这些功能可以正常工作,但是一段时间后它们不再起作用,并且它们都收到相同的错误:

  

Functions.blablabla无法启动以下语言的语言工作器:   节点发生一个或多个错误。 (节点退出,代码为3 FATAL   错误:CALL_AND_RETRY_LAST分配失败-JavaScript堆不足   记忆)

我认为罪魁祸首是训练ML相关模型的功能。此功能从solr中获取一些新闻文章,并调用python docker容器,以获取这些文章,计算模型并获取它们的相似性结果,并将它们存储到Azure表中。

直到几天前,整个基础架构都可以正常工作。当我想在系统中集成一个新的数据源时,问题就开始了,其中包含的文章比上一篇文章多得多。我看到完成检索文章的完整周期(生成模型)和编写结果所需的时间比实际时间触发器要多。但问题是,在我向python容器发送了发布请求后,该函数正确终止了。这怎么可能导致内存泄漏?如果没有,我应该去哪里研究?从日志中看来,一切正常,直到发生内存错误为止,此后一切都不再起作用(发生这种情况时,btw函数不应该自行重新启动吗?)

0 个答案:

没有答案