As I'm implementing asyncronous emaild elivery, I'm also setting it up to block process termination until all queued emails are sent.
If not planned for, this can cause an outage if you wait for the process to finish shutting down before spinning up a new one, which the naieve approach with most service managers would do (e.g. openrc, systemd).
~migadu, do you have thoughts on this? Should we discuss deployment planning with this in mind?
I am starting to dislike the whole idea of background sending, we are just adding to complexity it seems. I need some contemplating here.
With async delivery removed, this is not as important. We could add SO_REUSEADDR for zero downtime process reboots at some point in the future, but it's not especially important.