Tenebrius, Представляю такой алгоритм:
1 поток раз в n секунд делает скан директории и кладет в очередь имена новых файлов
2 поток в бесконечном цикле берет с очереди очередной файл и отдает его в поток
Tenebrius, значит указывайте максимально большой, либо реконнект при каждом новом файле. На вопрос как узнать размер того, чего мы не знаем - ответа нет.
Как узнать когда файл закончился - вы наткнетесь на EOF. Попробуйте открыть любой видео файл через `rb` и проитерироваться по линиям.
Tenebrius, Ну а в чем проблема при конце очередного файла делать скан директории на наличие новых файлов и продолжать стриминг уже с них? Это можно даже делать в отдельном потоке параллельно со стримингом
Вопрос в том, почему LinkToArchive не получает этот folder_pk напрямую, а вынужден работать через сессию.
В теории ведь можно вызвать LinkToArchive, не вызывая FolderUpdate, и получится отсутствие folder_pk в сессии
YuriyCherniy, Ну мне просто не понятен смысл записи в сессию этой переменной. Для этого мне нужно увидеть
1) как она туда попадает(целиком)
2) почему она туда попадает
3) где использутеся и с какой целью
users_items_string = ", ".join([i.item_id for i in cursor.fetchall()]) # сработает если NamedTupleCursor, иначе i[0]
bot.send_message(message.chat.id, 'Твои создания:\n{}'.format(users_items_string), parse_mode='html')