解析7000个xml文档的Node / Express致命错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解析7000个xml文档的Node / Express致命错误相关的知识,希望对你有一定的参考价值。
我的服务器下载了一个文本文件(大约800 mb),它实际上是彼此附加的XML字符串。将这个字符串分割成有效的XML字符串数组后,我遍历该数组并使用一个库将其转换为JSON,然后在其中获取相关数据并将其添加到我的数据库中。
问题是,大约有7000个XML字符串(索引),并且此消息导致我的应用程序错误:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - javascript heap out of memory
我已经尝试增加package.json文件中的--max_old_space_size=4096
。这改善了它,在第6000个索引附近失败。然后,我尝试将其加倍到8192,但也失败了。
有人知道解决方案吗?
其他信息
我需要此数据的原因:
我的应用程序包括可以创建文本搜索条件的用户。服务器每周一次下载此文件,然后根据用户搜索条件发送一封电子邮件,其中包含符合这些搜索条件的文档。
是否需要将这些文档加载到数据库中?无论如何,我打算在发送电子邮件后清理桌子。我选择以这种方式尝试,因为我认为利用内部联接比在普通js中完成所有操作要快。
答案
我正在通过vscode的终端运行服务器。当我在终端机上尝试时,到目前为止,它已经工作了3/3次,而且没有错误。
不知道为什么会这样,但至少可以正常工作!
以上是关于解析7000个xml文档的Node / Express致命错误的主要内容,如果未能解决你的问题,请参考以下文章