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

И это точно асинхронный запуск бота? Почему если его подержать

часа 2 выключеным, при включении он будет молчать еще минут 30, обрабатывая апдейты, они синхронно приходят боту? Решил ли эту проблему вебхук?

35 ответов

27 просмотров

1. Бот всегда работает асинхронно. 2. При обработке апдейтов - бот будет "молчать" пока всех их не обработает. За 1 раз ему телега отдаёт 100 апдейтов. Рекомендую выставить skip_updates=True

Asarax ✙ 🇺🇦 ✙ 🇺🇦
Но мне эти апдейты кровь из носу важны

а чего у тебя бот с важными апдейтами в даунтайме 2 часа?

Asarax ✙ 🇺🇦 ✙ 🇺🇦
я случайно выключил)

🧐. Я даже специально иногда не могу вырубить бота. А тут такое)

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
Aleksandr Danilov 🇺🇦
а хули

Я когда пишу бота то файл перекидываю на сервер и там делаю systemctl start systemctl stop

В докер лучше закинь. Жизнь упростишь себе

༼AndrewKing༽ 🇺🇦 [Робокотокот]
В докер лучше закинь. Жизнь упростишь себе

Я обычно внутри гитлаба проверяю наличие системди файла и через CICD делаю запуск. Ну и рестарт с подгрузкой новых файлов конечно

Aleksandr Danilov 🇺🇦
Я обычно внутри гитлаба проверяю наличие системди ...

Муторно как-то) Хотя для частообновляемых проектов в самый раз

༼AndrewKing༽ 🇺🇦 [Робокотокот]
Муторно как-то) Хотя для частообновляемых проектов...

для любых проектов все что не надо делать руками - прекрасно

Alex RootJunior 🇺🇦
git push и забыл

Оп и непредвиденная оишибка в боте) Логи не отдаёт, не стартует и прочее) Что делать будем?

༼AndrewKing༽ 🇺🇦 [Робокотокот]
1. Бот всегда работает асинхронно. 2. При обработ...

2 не совсем верно. Я бы даже сказал, совсем не верно. Если впихнуть там везде условный asyncio.sleep или что-то другое с ожиданием, то бот успеет ещё несколько раз новые апдейты забрать

᠌ 🇷🇺
2 не совсем верно. Я бы даже сказал, совсем не вер...

Учти что апдейты последовательно прилетают. И учти что главное не попасть в флудвейт

᠌ 🇷🇺
2 не совсем верно. Я бы даже сказал, совсем не вер...

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

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
༼AndrewKing༽ 🇺🇦 [Робокотокот]
Изначально стоит задача обработать все апдейты без...

обработаный апдейт это когда код в функции хендлера дойдет до конца?

༼AndrewKing༽ 🇺🇦 [Робокотокот]
Изначально стоит задача обработать все апдейты без...

Я говорил условно. Там может быть какой-то очень долгий запрос сетевой или к бд

Asarax ✙ 🇺🇦 ✙ 🇺🇦
обработаный апдейт это когда код в функции хендлер...

Это когда ты принял апдейт, пустил по мидлвари, фильтрам, хендлерам и ответил/не ответил куда надо.

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
༼AndrewKing༽ 🇺🇦 [Робокотокот]
Это когда ты принял апдейт, пустил по мидлвари, фи...

если тут синхронный скулайт это может быть причиной долгого ответа или особой роли не играет?

Asarax ✙ 🇺🇦 ✙ 🇺🇦
screenshot если тут синхронный скулайт это может быть причино...

Вообще желательно всё в асинк переводить. Даже БД. Теоретически синхронный скулайт будет заметно тормозить бота при средних и высоких нагрузках

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
༼AndrewKing༽ 🇺🇦 [Робокотокот]
Вообще желательно всё в асинк переводить. Даже БД....

Ну у меня два бота, второй сидит на aiosqlite. Думаешь и этого перетянуть на него?

Asarax ✙ 🇺🇦 ✙ 🇺🇦
screenshot Ну у меня два бота, второй сидит на aiosqlite. Дум...

Я бы вообще постгрес юзал. Для малых проектов скулайт адекватный вариант. Но если планируется что-то более масштабное - то лучше уже постгрес или монгу юзать

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
༼AndrewKing༽ 🇺🇦 [Робокотокот]
Я бы вообще постгрес юзал. Для малых проектов скул...

да я бы с радостью, но там совершенно по другому всё, я повешусь всё переписывать под постгре

Asarax ✙ 🇺🇦 ✙ 🇺🇦
да я бы с радостью, но там совершенно по другому в...

Запросы в 90% случаев одинаковы. Максимум создание таблиц малость переписать и по запросам проверить всё

Asarax ✙ 🇺🇦 ✙ 🇺🇦
а если записей 2 ляма?

С таким количеством - уже надо было перейти на постгрес)

Asarax ✙ 🇺🇦-✙ 🇺🇦 Автор вопроса
༼AndrewKing༽ 🇺🇦 [Робокотокот]
С таким количеством - уже надо было перейти на пос...

ну мб по мануалу груши как то перепишу, но чуствую что это будет часов на 15 и с кучей ошибок и багов

Asarax ✙ 🇺🇦 ✙ 🇺🇦
ну мб по мануалу груши как то перепишу, но чуствую...

Можешь как в сыром виде сделать (asyncpg), так и на алхимию перейти

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

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

а через 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
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта