А что сильнее тормозит - получение файла с сервера или обработка файла?
Если получение, то хоть обвешайся процессорами, не ускоришь. Ускорить получение должен помочь асинхронный код.
Я бы попробовал разделить этапы получения и обработки. Асинхронно получать файлы и помещать их в очередь обработчика. Таким образом, обработчик будет лопатить очередь постоянно, не простаивая на ожидание каждого отдельного файла.
Как именно это практически реализовать всё, не знаю - я по стратегии :)
Не надо использовать имя list и другие названия встроенных типов python - это может привести к странным результатам. Если уж так хочется, пишите "my_list".
См.п.3.6 Надо поправить название.
См.п.3.2 - надо указать конкретный тэг твоей БД (SQLite), а не общий.
Если вы не будете следовать правилам ресурса, ваши вопросы могут быть удалены модератором, а в случае неоднократных нарушений аккаунт может быть удален временно или навсегда.
Вопрос не имеет отношения к собственно языку Python, это вопрос по работе VS Code и расширений к нему. Упоминания Python не достаточно доя отправки вопроса в тэг.
Вовэу ᅠ, а при чем тут мнимые числа? В вопросе и в решении их нет. Сергей Паньков, спасибо за наводку, глядя на ваш ответ, вспомнил школьную тригонометрию :) но про 180/Пи пришлось гуглить, всё забыл уже без практики.
Вот теперь сижу и думаю, почему не 360/Пи? Потому что гипотенуза тут - половина диаметра, точно!
adamlo, поместите код в тело вопроса. Код оберните тэгом code, удобно при помощи кнопки </>.
Длинный код спрячьте под спойлер. Если есть traceback - тоже приведите, лучше полностью. Его тоже лучше обернуть тэгом code. Если длинный, тоже спрячьте под спойлер.
Позаботьтесь о тех, кто будет отвечать на ваш вопрос. Забота вернется.
Прежде всего я бы рекомендовал разделить вашу функцию на функции поменьше и попроще. Каждая должна заниматься своим делом - одна запрашивать данные из БД, другая - готовить сообщение, третья - отправлять его, четвертая - проверять корректность всех данных (этого у вас нет), ну и т.п. Пусть даже каждая функция будет состоять из пары строк.
Каждая функция должна уметь обрабатывать свои собственные ошибки, иметь свои тесты и т.п.
И отлаживать каждую в отдельности.
Hemul GM, не знаю, я стараюсь поменьше мусора в башку запускать. Для меня моргенштерн это такая легендарная палица у злых рыцарей из книжек. Других ассоциаций нет.
theraf1, слушай, с таким подходом тебе не только код писать… тебе к утюгу опасно подходить. Я же сказал: код ОБЕРНУТЬ тэгом. Код поместить В ВОПРОС. Длинный код спрятать под спойлер.
theraf1, если вы не видите разницу между lamba и lambda, вам рано брать заказы. И боты для вас не просто сложное, а архисложное, как высшая математика в детском садике. Я не шучу.
Если получение, то хоть обвешайся процессорами, не ускоришь. Ускорить получение должен помочь асинхронный код.
Я бы попробовал разделить этапы получения и обработки. Асинхронно получать файлы и помещать их в очередь обработчика. Таким образом, обработчик будет лопатить очередь постоянно, не простаивая на ожидание каждого отдельного файла.
Как именно это практически реализовать всё, не знаю - я по стратегии :)