mod_graceful_shutdown/README.markdown
changeset 2174 4652a112a4ba
child 2822 88474dd1af48
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_graceful_shutdown/README.markdown	Thu May 05 15:43:01 2016 +0200
@@ -0,0 +1,26 @@
+This module is an experiment about a more graceful shutdown process.
+
+Why
+===
+
+When shutting down, a number of sessions, connections and other things
+are teared down. Due to all these things happening very quickly,
+sometimes eg client unavailable notifications don't make it to all
+remote contacts because the server-to-server connections are teared down
+just after.
+
+How
+===
+
+This module works by breaking the shutdown process into separate steps
+with a brief pause between them.
+
+It goes something like this
+
+1.  Stop accepting new client connections.
+2.  Close all client connections.
+3.  Fire event for everything else.
+4.  Tell `net.server` to quit the main loop.
+5.  ???
+6.  Still here? Kill itself.
+