169 похожих чатов

Если у меня есть функция которая генерирует изображение и выполняется

она 10+ секунд то как лучше её использовать в коде бота? Создавать таск?

22 ответов

14 просмотров

Если она синхронная, то запускай в процесс пуле

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
🍉
Если она синхронная, то запускай в процесс пуле

я могу сделать её как синхронной так и асинхронной

Asarax ✙ 🇺🇦 ✙ 🇺🇦
я могу сделать её как синхронной так и асинхронной

Нет, не можешь Определив функцию через async def, ты не сделаешь её асинхронной

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Нет, не можешь Определив функцию через async def, ...

Это я уже понял, просто у меня там был кусок асинхронной работы с бд, а сама функция довольно быстрая

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Ты же сказал 10 секунд

Как оказалось 7 секунд это на бд 🌚

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Ты же сказал 10 секунд

Вынес всё говно с функции и теперь создается за 2-3 секунды, еще вместо кучи запросов сделал парочку а дальше уже сортировку питоном

Asarax ✙ 🇺🇦 ✙ 🇺🇦
Вынес всё говно с функции и теперь создается за 2-...

Всё-таки order by лучше делать сразу в запросе к бд "You need to sort in the database, so re-sorting in python is largely irrelevant – but if you do that, it will likely be negligible." https://groups.google.com/g/sqlalchemy/c/G1EnhodQ2gA?pli=1

Mikhail Smolnikov
Всё-таки order by лучше делать сразу в запросе к б...

Напомнило как кое-кто дёргает таблицы из бд и делает джоины на клиенте. Не ну а хули, у клиентов повально памяти полно, ядер тоже, на сеть вообще похуй

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса

у меня сортировка там не совсем в том плане. Надо найти записи между двумя датами, и каждый такой поиск я делал запросом в бд вместо того чтобы достать всё и дальше питоном отбирать

Asarax ✙ 🇺🇦 ✙ 🇺🇦
screenshot у меня сортировка там не совсем в том плане. Надо ...

Ужасно Как раз таки подобное и надо делать сразу в SQL Ты, вместо того, чтобы получить конкретные данные, селектишь всё в память и потом уже итерируешься по всему в питоне Ничего не смущает?

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Ужасно Как раз таки подобное и надо делать сразу в...

ну я не знаю как это всё за один запрос получить, а если много запросов то очень долго

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
И это тебя оправдывает? Делай как хочешь

Я не против если ты предложишь вариант лучше

Asarax ✙ 🇺🇦 ✙ 🇺🇦
Я же достаю мизерные данные

Если это пара сотен строк - ок, разница небольшая Просто обычно с тайм метками достают что-то из истории, где миллионы данных

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Я же тебе сказал, что нужно сделать

ну так всё то что я достал я использую, просто за один запрос

Asarax ✙ 🇺🇦 ✙ 🇺🇦
это 30 строк

Тогда, если ты уверен, что в будущем не будешь эту функцию использовать в больших таблицах, или что нынешняя таблица не разрастется, то ок Но в идеале бы это написать нормально

Asarax ✙ 🇺🇦 ✙ 🇺🇦
ну так всё то что я достал я использую, просто за ...

Доставать нужно из бд только нужные данные, а не все

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Mikhail Smolnikov
Доставать нужно из бд только нужные данные, а не в...

ну мне надо выборка за 30 дней, я и достал 30 записей

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта