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

А может быть такое, что асинхронность медленнее синхронности? я код на

асинхронность переписал и у меня замедлилось всё
переписывал синхронный код библиотеки python-binance

68 ответов

28 просмотров
FS- Автор вопроса

но я тестировал только на одном пользователе, а если будет пользователей 20, то какой код может показать себя лучше?

Важно понимать что в коде

FS- Автор вопроса
Понедельник
Важно понимать что в коде

Математические операции(*/), вызов асинхронных функций из библиотеки python-binance, операции с БД sqlite3 И много if/else

Может

FS- Автор вопроса
Tishka17
Может

И ещё ответ на дополнение пожалуйста

FS
но я тестировал только на одном пользователе, а ес...

правильно написанный асинхронный код

FS- Автор вопроса

my async code, который работает медленнее чем my sync code

FS
my async code, который работает медленнее чем my s...

в асинхронном контексте всё равно используешь requests?

что за файл sql?

FS- Автор вопроса
ZeN
что за файл sql?

Там операции с базой данных sqlite3 insert(), select и т.п.

FS- Автор вопроса
ZeN
ну покажи его

Там говнокод, но не откажусь от критики одна из функций: def select_3(name_base: str, where_id: str, eq_id: str, where_id_2: str, eq_id_2: str, where_id_3: str, eq_id_3: str): conn = sqlite3.connect(f"{name_db}.db", check_same_thread=False) cursor = conn.cursor() sql = f"SELECT * FROM {name_base}" \ f" WHERE {where_id} = '{eq_id}'" \ f" and {where_id_2} = '{eq_id_2}'" \ f" and {where_id_3} = '{eq_id_3}'" cursor.execute(sql) return cursor.fetchone()

FS- Автор вопроса
Tishka17
Чзх

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

FS- Автор вопроса
Tishka17
Хуерно

это влияет на скорость работы бота?

не может, а асинхронный код всегда как правило медленней синхронного

FS- Автор вопроса
Tishka17
https://t.me/advice17/10

cursor.execute("SELECT * FROM ? ? = ? and ? = ? and ? = ? and ? = ?", (name_base, where_id, eq_id, where_id_2, eq_id_2,where_id_3, eq_id_3,where_id_4, eq_id_4,)) не работает cursor.execute(f"SELECT * FROM {name_base} {where_id} = ? and {where_id_2} = ? and" f" {where_id_3} = ? and {where_id_4} = ?", (eq_id, eq_id_2, eq_id_3, eq_id_4,)) не работает

FS
cursor.execute("SELECT * FROM ? ? = ? and ? = ? an...

Конечно не работает. Ты каким-то хуем таблицу подставляешь, хотя разные таблицы в разных случаях используются. Плейсхолдер для подстановки данных нужен, а запрос должен писаться осмыслено

FS
cursor.execute("SELECT * FROM ? ? = ? and ? = ? an...

Что это за ужас? Не проще тогда уж не параметры подставлять, а сразу запрос фигачить руками?

FS- Автор вопроса
FS
Я уже решил, спасибо за ответ

Не надо свои сообщения удалять

FS- Автор вопроса
Alex
зачем удалил?

Не актуально

FS
Не актуально

Ты не актуален

FS- Автор вопроса
Илья Власов
Не надо свои сообщения удалять

Хорошо, в следующий раз так не буду

FS- Автор вопроса
Aleksandr Danilov 🇺🇦
Так не первый же раз

Разве? Может ты меня с кем-то путаешь

FS
Хорошо, в следующий раз так не буду

Пчел, вот представь, что в интернете все будут удалять свои вопросы и ответы на них после их решения? Это делается для того, чтобы потом другие люди могли найти твой вопрос и посмотреть на него ответ

FS- Автор вопроса
Илья Власов
Пчел, вот представь, что в интернете все будут уда...

Я уже понял что удалять не нужно, там WHERE пропущен был)

FS- Автор вопроса

Я читал, но имя базы и элемент по которому ищу не может быть "?"

FS- Автор вопроса
FS
Я читал, но имя базы и элемент по которому ищу не ...

Приходится использовать f для того, чтобы вставлять имя таблицы и элемент по которому ищу

FS
Приходится использовать f для того, чтобы вставля...

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

FS- Автор вопроса
Tishka17
Не нужно вставлять имя таблицы

Мне нужно Я хочу чтобы я использовал select('users','user_id','11111'), а не писал каждый раз "SELECT * FROM users ..." Легче один раз переписать функцию, чем сто раз все "SELECT * FROM"

FS
Мне нужно Я хочу чтобы я использовал select('users...

не надо изобретать орм, возьми готовый

FS- Автор вопроса
Алиса Кассель-Королёва
возьми орм может быть

Честно говоря не знаю что это и с чем это едят , но поищу в интернете

Алиса Кассель-Королёва
ой, привет доставка уже работает?

жсоны прекратили доставку в рф в связи с текущими событиями

FS
Мне нужно Я хочу чтобы я использовал select('users...

Ты забыл перечислить например состав колонок которые хочешь получить

FS
Мне нужно Я хочу чтобы я использовал select('users...

Как ты будешь делать джойны, лимиты? Сложные where? Агрегации?

В чем проблема сделать под каждую таблицу по одной функции с правильным селектом?

не пизди пожалуйста. ты захаживал в чат SQLAlchemy задолго до сегодняшнего дня.

FS- Автор вопроса
Tishka17
В чем проблема сделать под каждую таблицу по одной...

Если я где-то ошибусь или мне захочется использовать что-то другое нужно будет переписывать все

FS
Мне нужно Я хочу чтобы я использовал select('users...

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

FS- Автор вопроса
FS
Если я где-то ошибусь или мне захочется использова...

Именно, если ты ошибаешься в своем универсальном селекте, тебе придется переписывать вообще всё, чтобы обработать эту ситуацию. А если ошибёшься в одной функции, надо будет исправить только её

Alex
не пизди пожалуйста. ты захаживал в чат SQLAlchemy...

ух... похоже у нас тут два чувака с одинаковыми никами сидят по разным чатам.

FS- Автор вопроса
FS- Автор вопроса
Tishka17
Именно, если ты ошибаешься в своем универсальном с...

Хорошо, я тебя понял Следующий раз или алхимию выберу или буду делать так ,как у нормальных программистов )

Tishka17
При этом оба чате аиограма есть

бляяя разбань меня там, я случайно нажал ,,Я животное,,

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

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

а через 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
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
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
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта