1

我正在开发一个网络服务,其中每一件事都是通过 http 请求联系的

它的一部分是在python中实现的

问题如下:

@app.route("/p")
def request_file():
    result = send_http_request()
    if result:
        load_file()            
    return render_template("upload_form.html")

@app.route("/p")
def accept_file():
    f = request.files['pic']
    save_file(f)
    return "ok"

这是我正在做的伪代码,函数请求文件联系外部服务,它通过发出包含报告文件的表单发布请求来响应,这个发布请求由保存文件的 accept_file 处理(我确保调用 flush() 和os.fsync() 完全写入磁盘),然后它重新运行,这导致 request_file 中的 http 请求终止

然后 request_file 尝试加载由 accept_file 保存的文件,但失败了,它告诉我没有该名称的文件,请求完成后,该文件可用于后续请求

我很确定我在保存文件后尝试加载文件,并且我正在刷新到磁盘并调用 os.fsync() 以确保写入磁盘

什么是哈彭宁?怎么了?我没有任何线索

我必须以这种方式工作,因为我的应用程序依赖于外部服务,该服务仅通过使用文件发出多部分表单请求来响应

我怎样才能访问该文件?

真正的问题是什么?它与线程有关吗?烧瓶通过上下文暴露的全局变量?或者是什么?

谢谢

4

0 回答 0