У меня есть небольшой сервер Flask, который транслирует движущиеся JPEG-файлы, возвращая
Response(generate_frame(),
mimetype='multipart/x-mixed-replace; boundary=frame')
по заданному запросу.Функция генератора generate_frame
сама yield
с кадрами через
def generate_frame():
camera = Camera()
while True:
frame = camera.get_frame()
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n')
Мой вопрос теперь состоит в том, что происходит с camera
, когда клиент перестает потреблять мой поток?(например, закрыв вкладку.) Есть ли в ответе Flask время ожидания?Я спрашиваю, потому что создание экземпляра Camera
не является легким, но открывает еще одно соединение, и я не хочу, чтобы мой сервер собирал старые соединения от отключенных клиентов.Есть ли вероятность, что camera
будет в конечном итоге убран мусором?