我试图使用celery
在flask
中实现一个大文件上传。我有一个函数,它将文件流保存为一个芹菜任务但是,我的实现需要在我的任务函数中使用request
上下文。我已经完成了我的研究并实现了在给定的链接上提供的解决方案on this answer但是,这似乎不适用于我的版本的芹菜,它是{
这就是我要做的
这是我的任务
@task(name="app.save_operation")
def save_operation():
content = request.files["content"]
content.save(
content.filename)
content.stream.close()
return
这是@task
包装
这是API处理函数,我在这里调用这个任务
@app.route("/upload", methods=["GET", "POST"])
def upload():
if (request.method == "POST"):
filename = request.files["content"].filename
task_id = save_operation.delay()
return "upload started for "+filename
在``
这在理论上应该可以正常工作,但是,当我这样做时,celery抛出一个BadRequestKeyError
,这实际上意味着在save_operation()
任务中引用的request
对象没有被正确传递。我不知道为什么会发生这种情况,我的研究遇到了障碍。在
我真的很想了解一下。在
目前没有回答
相关问题 更多 >
编程相关推荐