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

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

47 ответов

48 просмотров

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

Виктор Супрун
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к "параллельных" функций. Насколько это критично по итогу?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
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
Карта сайта