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

Всем привет. Нужен экспертно-архитектурный совет. Прикрутили телеграмм с помощью асинхронной

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

1 ответов

32 просмотра

Мы когда реализовывали в нашем rabbitmq коннекторе такой же подход - то есть поднимали специальный тред. Так как нам тоже важно было чтобы отправка в rabbitmq была асинхронна и не влияла на работу пользователя никак. А то влруг rabbitmq лежит? Это был так называемый управляющий тред. И он уже создавал для отправки сообщения свой «child thread”. То есть есть долгоживущий тред - задача которого быть дирижером. И он создает «треды-исполнителей» по мере надобности . Архитектура оправдала себя как в распределенной архитектуре в кубере, так и на простых кейсах. Само все поднимается, само все восстанавливается. Есть гарантия что не пропустим что-то важное и не отправим сообщение из-за того что был лаг временный (сети/ rabbit перегружался и тп) Схематически архитектура нарисована прям в самом модуле на картинке https://apps.odoo.com/apps/modules/17.0/rabbitmq_connector

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта