我正在开发一个网络服务,通过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()完全写入磁盘),然后它重新运行ok,这导致终止在request_file中发出的http请求
然后request_file尝试加载accept_file保存的文件,它失败了,它告诉我没有带有该名称的文件,请求完成后,该文件可用于后续请求
我很确定我在保存后尝试加载文件,并且我正在刷新磁盘并调用os.fsync()以确保写入磁盘
什么是Hapenning?怎么了?我没有头绪
我必须以这种方式工作,因为我的应用程序依赖于外部服务,外部服务仅通过使用文件进行多部分表单请求来响应
我如何访问该文件?
真正的问题是什么?它与线程有关吗?通过上下文暴露的烧瓶全局?或者什么?
感谢