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

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

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

1 ответов

17 просмотров

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

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Карта сайта