我有一些Python元拷贝代码正在Flask路由中执行,当第一次调用该路由时(即用户在应用程序启动后提交一个表单)运行得非常好,但在第二次运行时它不会终止(即在应用程序启动后第二次提交表单)。在
准确地说:
@app.route('/search', methods=['POST'])
def searchPageResults():
form = SearchForm(request.form)
import metapy
idx = metapy.index.make_inverted_index(os.path.abspath("search/config.toml"))
ranker = metapy.index.OkapiBM25()
query = metapy.index.Document()
query.content("auto")
for result in ranker.score(idx, query):
print(result)
return render_template('SearchPage.html', form=form)
如果我在Flask之外运行方法中的代码片段(不管我调用它多少次),它运行得很好。只在里面用装饰的方法@应用程序路径(……)它似乎只运行一次。具体地说:ranker评分(…)函数是永久运行的函数。 由于代码在flask外部运行良好,我认为后台发生了一些我不理解的特定于flask的事情。在
到目前为止我所做的努力(但没有帮助):
有什么特别的东西可以解释这种行为吗?在
----更新:附加信息---配置.toml
^{pr2}$如前所述,这种行为只发生在第二次调用这个烧瓶路径之后。在本地,一切正常(使用完全相同的数据集和配置.toml)在
更新:MetaPy Flask演示应用程序中的相同行为 我在MetaPy演示应用程序中也有相同的行为:https://github.com/meta-toolkit/metapy-demos。(唯一的区别是,我需要按照要求.txt对于某些软件包,由于可用性)。在
解决了。Flask integrated Web服务器出现问题。一旦部署到另一个web服务器上,问题就解决了。在
相关问题 更多 >
编程相关推荐