运行libpostal的多个实例

时间:2018-10-16 19:50:50

标签: python python-3.x geolocation

我已经测试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脚本,我的问题是,是否有人遇到类似的问题,如果可以的话,解决方案是什么。

1 个答案:

答案 0 :(得分:1)

很抱歉碰到这样一个老问题,但是最近当我尝试在Flask + GUnicorn上使用libpostal时遇到了类似的问题。当使用多个工作程序时,libpostal无法加载模型。

通过为GUnicorn预先为应用加载--preload标志来解决此问题:

gunicorn --workers=3 --preload main:APP