mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-23 14:51:27 +02:00
Email alerts relies on checks to send emails. The link between a mailers section and a proxy was resolved during the configuration parsing, But initialization was done when the first alert is triggered. This implied memory allocations and tasks creations. With this patch, everything is now initialized during the configuration parsing. So when an alert is triggered, only the memory required by this alert is dynamically allocated. Moreover, alerts processing had a flaw. The task handler used to process alerts to be sent to the same mailer, process_email_alert, was designed to give back the control to the scheduler when an alert was sent. So there was a delay between the sending of 2 consecutives alerts (the min of "proxy->timeout.connect" and "mailer->timeout.mail"). To fix this problem, now, we try to process as much queued alerts as possible when the task is woken up.