擅长:python、mysql、java
<p>据我所知,您不知道在执行期间客户端是否关闭了连接,因为服务器在执行期间没有测试连接是否打开。我知道您可以在Flask应用程序中创建自定义的<code>request_handler</code>,以检测在处理请求后连接是否“断开”。</p>
<p>例如:</p>
<pre><code>from flask import Flask
from time import sleep
from werkzeug.serving import WSGIRequestHandler
app = Flask(__name__)
class CustomRequestHandler(WSGIRequestHandler):
def connection_dropped(self, error, environ=None):
print 'dropped, but it is called at the end of the execution :('
@app.route("/")
def hello():
for i in xrange(3):
print i
sleep(1)
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True, request_handler=CustomRequestHandler)
</code></pre>
<p>也许您需要进一步研究,当请求到来时,您的自定义<code>request_handler</code>被创建,您可以在<code>__init__</code>中创建一个线程,该线程每秒检查连接的状态,当它检测到连接已关闭(<a href="https://stackoverflow.com/questions/667640/how-to-tell-if-a-connection-is-dead-in-python">check this thread</a>)时,停止图像处理。但我觉得这有点复杂:(。</p>