принимает в себя последовательность кадров.
Сейчас мне нужно натянуть это все на бэк и принимать эту последовательность кадров из http реквеста.
На один поток видео создается один инстанс класса.
Как мне организовать код, что-бы я мог динамически создавать и удалять инстансы этого класса и раскидывать приходящие кадры?
Единственное что придумал в asyncio в main создать словарь и добавлять пару ключ значение (id потока, инстанс класса), что-бы он был виден глобально
Могу джанго, фласк, grpc
Тебе надо в ответе клиенту сразу результат анализа кинуть или что?
Не, я потом по сокету совсем в другое место отправлю
>что-бы он был виден глобально Сразу звучит нехорошо. Можно хранить в DB/Redis ID потоков и данные для пересоздания класса.
Я так понимаю, там нужен какой-то объект в памяти для хранения стейта обработки
Да, собираю артефакты с предыдущего кадра
Меня вот тоже смущает))
Тогда отдельный процесс, он ждёт событий от web request'ов, принимает запросы через RabbitMQ. непонятно, какие данные нужно передавать
А добавлять как новый поток?
Новый поток - запустили новый процесс. Нет, ну можно celery задачу для каждого потока, да.
Да, это вариант, и селери таска слушает редис для кадров
Вообще, редис не совсем для этого, скорее RabbitMQ, ZeroMQ, имхо. Как брокеры используют и то, и другое, правда.
Обсуждают сегодня