如何检查用户是否在Flask中关闭了特定的标签/窗口?

时间:2019-01-20 00:23:36

标签: python flask

我正在运行一台服务器,该服务器允许用户通过其网络摄像头检测运动。动作检测器窗口/ URL流式传输实时供稿,如果用户直接关闭窗口/选项卡而不是单击“停止”按钮,我想检测何时中断了流式/动作检测。

我尝试在线搜索解决方案,但是找不到。

这是烧瓶应用程序中路线的代码

@app.route('/camera')
@login_required
def camera():
    return Response(get_frame(), mimetype='multipart/x-mixed-replace; boundary=frame')

上面的 Response 中传递的'get_frame()'没有 return 语句,它使用 yield 来提供图像来自网络摄像头作为电影。

def get_frame():
    ....
    ....
    yield (b'--frame\r\n'
        b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')

我想检测它以创建运动检测器启动和停止的时间戳。

1 个答案:

答案 0 :(得分:1)

简单而简单的解决方案是将最后发送的批处理时间戳记写入请求:

from flask import request

def get_frame():
    ....
    request.last_batch_send_time = time.time()
    yield (b'--frame\r\n'
        b'Content-Type: text/plain\r\n\r\n' + imageData + b'\r\n')

然后,您可以在after request callback中使用它。