如何避免在烧瓶中使用pylucene时附加CurrentThread异常



我围绕一个类构建了一个简单的包装器服务,该类使用 pylucene (6.5( 读取和查询 Lucene 索引。运行服务器时出现以下错误:

RuntimeError: attachCurrentThread() must be called first

我认为问题源于lucene.initVM()语句,我尝试将其移动到不同的地方。如果我将其放在请求方法中,它可以工作,但这意味着我需要在每个请求中加载索引。

有没有更好的方法?

将初始化语句(在本例中为 IndexHandler 的构造函数(放入具有flask装饰器的函数中@app.before_first_request可以解决问题。

@app.before_first_request
def load_index():
    global index_handler
    index_handler = IndexHandler()

最新更新