我已经测试libpostal几天了,我有以下用例:
我同时运行10个libpostal脚本来分析各种文档,对于大多数文档而言,几秒钟后,我得到以下错误:
ERR Averaged perceptron model could not be loaded at address_parser_load (address_parser.c:205) errno: Cannot allocate memory
我对如何解决这个问题有一个模糊的想法,例如,如果我可以告诉所有脚本实例共享一个已经加载的模型,而不必为每个脚本实例创建一个单独的模型。作为进一步的信息,我正在使用pypostal。
我可以看到这是因为我同时运行了太多的libpostal脚本,我的问题是,是否有人遇到类似的问题,如果可以的话,解决方案是什么。
答案 0 :(得分:1)
很抱歉碰到这样一个老问题,但是最近当我尝试在Flask + GUnicorn上使用libpostal时遇到了类似的问题。当使用多个工作程序时,libpostal无法加载模型。
通过为GUnicorn预先为应用加载--preload
标志来解决此问题:
gunicorn --workers=3 --preload main:APP