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

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

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

68 ответов

13 просмотров
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
При этом оба чате аиограма есть

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

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

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

коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
А что ты вообще делаешь ?
Yesgoter
13
На работе пишем распределенное приложение, у которого сотни, если не тысячи настроек. Конфиги написаны на xml, расположены на разных хостах и должны быть согласованы друг с др...
Aleksandr Druzhinin
5
Всем привет 🙂 Какая-то непонятная проблема у меня с видео, раньше такого не было. Загружаю видео с гугл диска именно в видео mp4 и меняю ссылку как положено вот она: https://d...
Ксюша|Верстка на Тильде|Дизайн 🦥
6
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
18
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
Подскажите, почему в правом коде с1 дополняется до 8байт, а не до 4?
Sergey
9
Hi there everyone Is there anyone who have not started hamster bot yet? I need only one, I'll be glad if you do this for me DM if you haven't yet
Mehrshad
53
что это и почему оно? executor.start_polling(bot, skip_updates=True, on_startup=on_startup, File "/usr/local/lib/python3.10/dist-packages/aiogram/utils/executor.py", line 4...
𐌍𐌄 ᕓ𐌄𐌓𐌌Ꝋ𐌓𐌄
2
Карта сайта