Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Механизм блокировки при неответах почтового сервера #99

Open
vzalygin opened this issue Jan 1, 2025 · 0 comments
Labels

Comments

@vzalygin
Copy link
Member

vzalygin commented Jan 1, 2025

Сейчас, если почтовый сервер не отвечает, мы начинаем его опрашивать вдвое чаще (таймаут при поллинга -- 20 сек, при неответе -- 10 секунд). При этом в случае массового неответа опрашивать сервер для каждого клиента не имеет смысла. Хочется иметь централизованный механизм, который бы позволял опрашивать почтовый сервер только с какой-то одной учетки до момента получения корректного ответа. После получения конкретного ответа можно пробовать отправлять запросы от других клиентов.

Такой механизм снизит нагрузку на сеть и почтовый сервер, понизит потребление cpu у нас в моменты сбоев.

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

@vzalygin vzalygin added the infra label Jan 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant