Собирает ли Flask / Python мусор невидимые многочастные ответы? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть небольшой сервер 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 будет в конечном итоге убран мусором?

...