在python中在后台返回和处理请求
我有一个函数,它处理从swagger传递的文件数据。但当文件大小大于时,响应和请求将花费更长的时间在python中在后台返回和处理请求,python,python-3.x,api,swagger,Python,Python 3.x,Api,Swagger,我有一个函数,它处理从swagger传递的文件数据。但当文件大小大于时,响应和请求将花费更长的时间 def func(): file = request.files['fileName'] file_data = file.read().splitlines() <read file and process each line> return 'File processed' def func(): file=request.files['fileN
def func():
file = request.files['fileName']
file_data = file.read().splitlines()
<read file and process each line>
return 'File processed'
def func():
file=request.files['fileName']
file_data=file.read().splitlines()
返回“已处理文件”
现在我只想返回上传的文件,使用201,然后在后台继续处理
大概是这样的:
def func():
try:
file = request.files['fileName']
file_data = file.read().splitlines()
if file_data:
return "File uploaded successfully"
finally:
<read file and process each line>
def func():
尝试:
file=request.files['fileName']
file_data=file.read().splitlines()
如果文件\u数据:
返回“文件上传成功”
最后:
这是我一直在尝试的
我能得到一些建议吗?或者是否有比这更好的解决方案。
谢谢 看起来您需要一个分布式任务队列,比如有没有其他轻量级库?有-尽管我没有亲自使用过。还可以选择分叉一个新进程,以使用subprocess.Popen完成任务,subprocess.Popen是一个python内置模块。对于一个小项目来说,这可能还可以,但不能很好地扩展。我终于用一个线程完成了。看起来你需要一个分布式任务队列,比如有没有其他轻量级库?有-尽管我没有亲自使用它。还可以选择分叉一个新进程,以使用subprocess.Popen完成任务,subprocess.Popen是一个python内置模块。对于一个小项目来说,这可能还可以,但不能很好地扩展。我最终用一个线程完成了这项工作。