我在寻找解决此问题的方法时遇到了很大的麻烦。 我有几个时间触发功能,可以执行不同的任务。我面临的问题是这些功能可以正常工作,但是一段时间后它们不再起作用,并且它们都收到相同的错误:
Functions.blablabla无法启动以下语言的语言工作器: 节点发生一个或多个错误。 (节点退出,代码为3 FATAL 错误:CALL_AND_RETRY_LAST分配失败-JavaScript堆不足 记忆)
我认为罪魁祸首是训练ML相关模型的功能。此功能从solr中获取一些新闻文章,并调用python docker容器,以获取这些文章,计算模型并获取它们的相似性结果,并将它们存储到Azure表中。
直到几天前,整个基础架构都可以正常工作。当我想在系统中集成一个新的数据源时,问题就开始了,其中包含的文章比上一篇文章多得多。我看到完成检索文章的完整周期(生成模型)和编写结果所需的时间比实际时间触发器要多。但问题是,在我向python容器发送了发布请求后,该函数正确终止了。这怎么可能导致内存泄漏?如果没有,我应该去哪里研究?从日志中看来,一切正常,直到发生内存错误为止,此后一切都不再起作用(发生这种情况时,btw函数不应该自行重新启动吗?)