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

Https://Pastebin.Com/DugNGmyP Кто-То может подсказать Почему код после 24 строки не исполняется?

47 ответов

14 просмотров

Код конечно ужасный, но если по существу, скольким юзерам идёт рассылка?

Виктор Супрун
7r

блять блять блять

Виктор-Супрун Автор вопроса
Aleksandr Danilov 🇺🇦
блять блять блять

Закидайте меня палками Но дайте понять Где я все ломаю

кто то еще юзает .format? ого...

Виктор Супрун
Закидайте меня палками Но дайте понять Где я все л...

Проблема в том что эту хуйню нет смысла чинить Надо писать заново

PLATINA
кто то еще юзает .format? ого...

Тебя только это смутило? И что в format такого?

Mikhail Smolnikov
Тебя только это смутило? И что в format такого?

не только, я просто его заметил. ну типо не проще дописать f перед строкой и не париться?

Почему global couter

Виктор Супрун
Закидайте меня палками Но дайте понять Где я все л...

Ты запускаешь 7 тысяч задач "параллельно" на одном ядре, в каждой из которых ждёшь от 0 до 8 секунд и что-то ещё отправляешь Всё хорошо продумал?

PLATINA
не только, я просто его заметил. ну типо не проще...

Не всегда это приемлимо Это не совсем одно и тоже

Виктор-Супрун Автор вопроса
Mikhail Smolnikov
Ты запускаешь 7 тысяч задач "параллельно" на одном...

Если говорить не о 7к паралельных задач А то что происходит дальше Почему исполнение функции не закрывается?

Semyon Bagrych
screenshot

https://t.me/aiogram_ru/1247796

PLATINA
а чем разница? обьясните если тупой

_ = gettext f"{_("hello")} "{}".format(_("hello")) В первом случае gettext вызовется один раз при инициализации Во втором случае будет вызываться каждый раз

await write_to_file(data_user) Это как ?

Виктор-Супрун Автор вопроса
Тері
await write_to_file(data_user) Это как ?

После 24 строки код не исполянется Какая разница что в 26?

Виктор Супрун
На 8 штук оптравило

Тогда https://t.me/aiogram_ru/1249647

Тері
await asyncio.gather(*coros) Так он ждёт

Если это рассылка то залупа а не совет

Виктор-Супрун Автор вопроса
Тері
Тогда https://t.me/aiogram_ru/1249647

Друг Все проще оказалось в user.id_user none уходило Ошибка останавливала исполнения этого говнокода Всем спасибо Хорошего вечера

jeremy
Можно пояснения? Привет!

По лимитам обосреться до 100

Patrick [in search of work]
По лимитам обосреться до 100

А если распределить запуск тасков по времени? В случае достижения определенного значения - переносить таску в конец выполнения.

Виктор-Супрун Автор вопроса
Тері
У тебя user_id может бить None ?

Оказывается да Не я писал Фиксы прост

jeremy
А если распределить запуск тасков по времени? В сл...

Может тогда лучше последовательно соблюдая лимиты и не париться?😁

Patrick [in search of work]
Может тогда лучше последовательно соблюдая лимиты ...

Ну смотри. Если у тебя малое количество юзеров, то в общем смысле ты и циклом пройтись можешь, там очень тяжко попасть под лимиты. Но предположим, тебе необходимо сделать рассылку на большое количество юзеров, и чтобы тебя удовлетворяло время отправки. Как тогда ускорить отправку сообщений рассылки?

jeremy
Ну смотри. Если у тебя малое количество юзеров, то...

На любое. Лучше последовательно и не спеша. Что бы боту не мешать. Лучше одному человеку сообщения из рассылки прийдёт на 3-5секунд позже(он его не ждёт) чем не прийдёт человеку который сейчас пользуется ботов и ждёт сообщение

Patrick [in search of work]
На любое. Лучше последовательно и не спеша. Что бы...

У меня приходит оповещение о погрешностях. Оно может приходить часто, но само оповещение нужном не всем. Предполагаем, что оно приходит каждый час, всего пользователей порядка 5 тысяч. Чисто технически, если последовательно отправлять, то они не увидят вовремя нужное оповещение. Я не про рекламные рассылки и т.д. и т.п., а о тех, на которых и построена логика самого бота.

Patrick [in search of work]
Ну тут земля пуховиком. Лимиты тг.

Мы хотим отправлять 2 раза в секунду. Ты можешь контролировать с погрешностью в районе 5% при ок соединении количество отправленных ботом сообщений. Мы загоняем таску под сон так, чтобы упорядочить все отправления пользователям при скорости 2msg/s. И перед тем, как отправить сообщение пользователю, ты проверяешь количество отправленных ботом сообщений. Если они уже 20+, то перетаскиваешь таску в конец костыльной очереди. Мы прогоняли пару раз такой костыльный код, с нагрузкой, ни разу не выкинуло за лимит. НО: 1) это явно не верный подход, так как такие задачи каким-либо образом уже решались за счет мб Celery и т.д.; 2) каждая таска запускается одновременно фактически, а это значит, что при N кол-ве рассылок, у тебя изначально будет N одновременно запущенных функций, однако со скорость кол-ва отправок в секунду оно будет уменьшатся.

jeremy
Мы хотим отправлять 2 раза в секунду. Ты можешь к...

А что если таска будет попадать за те 20+ несколько раз подряд с длинной очередью?

jeremy
при каких ситуациях мы это допускаем?

Да любых. Много людей пользуется ботом сейчас

Patrick [in search of work]
Да любых. Много людей пользуется ботом сейчас

Ну так смотри. Каждый раз, когда пользователь получает сообщение от бота, мы ведь можем это фактически посчитать. Разве нет?

Patrick [in search of work]
И что нам это даст?

Подсчет запросов в тг, чтобы не улететь в лимиты

Patrick [in search of work]
И что нам это даст?

Если мы знаем количество уже отправленных сообщений пользователям, то мы ведь можем это проверять при отправке сообщения-уведомления. Разве нет?

jeremy
Если мы знаем количество уже отправленных сообщени...

Так это твои 20+ ещё меньше будут и в конец тачки будут улетать чаще

Patrick [in search of work]
Так это твои 20+ ещё меньше будут и в конец тачки ...

Мы провели тесты при разных нагрузках и разных возможных ситуациях. Погрешность в 4,63% в среднем при 17 разных проверках. Грубо говоря, предполагали 300 секунд отправки полной, но за 312 секунд +- все отправлялось.

Mikhail Smolnikov
Подсчет запросов в тг, чтобы не улететь в лимиты

Ты выше указал человеку на 7к "параллельных" функций. Насколько это критично по итогу?

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

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

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
96
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
Вопрос вроде правильно, но что надо сделать, чтоб текст был виден нормально ? ghci> TE.decodeUtf8 $ TE.encodeUtf8 "test - проба" "test - \1087\1088\1086\1073\1072"
Fedor
7
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Кто может подсказать? Я преобрпзовал изображение в бинарное(у меня установлен трекбар который при установленном значении меняет пиксели на белый если меньше и чёрный если боль...
Константин VS
6
Карта сайта