nginx 通知flask应用程序“Connection reset by peer”

ltskdhd1  于 2023-06-28  发布在  Nginx
关注(0)|答案(1)|浏览(241)

我有一个flask应用程序,允许用户从我的服务器下载数据。我使用'Response'和'stream_with_context':

from flask import Response, stream_with_context

import requests

我的API中的最后几行是:

r = requests.get(url, stream=True, timeout=180, verify=ssl_context)
return Response(stream_with_context(r.iter_content(chunk_size=2048)), headers=headers)

代码运行得很好,但问题是Flask不知道用户是否取消了下载或发生了中断。但是,如果用户取消下载,日志文件将显示以下内容:
uwsgi_response_write_body_do():连接被对等体重置
但这是来自***nginx***(我想),我不知道如果中断(取消)发生,如何触发flask中的函数。

flmtquvp

flmtquvp1#

可以使用
@ response.call_关于_关闭

@getfile_bp.after_request
比如:

@getfile_bp.after_request
def do_this_next(response):
   @response.call_on_close
   def print_message():
       print('download is completed or stopped')

相关问题