我正在开发一个网络服务,其中每一件事都是通过 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() 以确保写入磁盘
什么是哈彭宁?怎么了?我没有任何线索
我必须以这种方式工作,因为我的应用程序依赖于外部服务,该服务仅通过使用文件发出多部分表单请求来响应
我怎样才能访问该文件?
真正的问题是什么?它与线程有关吗?烧瓶通过上下文暴露的全局变量?或者是什么?
谢谢