Software /
code /
prosody-modules
Annotate
mod_graceful_shutdown/README.markdown @ 4935:a85efae90e21
mod_rest: Expand mapping of XEP-0045 join stanza
The previous 'join' mapping was apparently lost in translation when
swithing to datamapper, so might as well map some properties allowing
history control. Usually you probably want either zero history or
history since the last known time of being joined. Maybe that the former
should be the default?
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 30 Apr 2022 01:00:01 +0200 |
parent | 4898:999e7cb7f6d9 |
rev | line source |
---|---|
4898
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
1 ::: {.alert .alert-warning} |
2170
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 This module is an experiment about a more graceful shutdown process. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 |
4898
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
4 Graceful shutdown has now been implemented in Prosody trunk and will be |
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
5 part 0.12. See [issue #1225](https://issues.prosody.im/1225) for |
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
6 details. |
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
7 ::: |
999e7cb7f6d9
mod_graceful_shutdown: Add a banner saying no longer needed with trunk
Kim Alvefur <zash@zash.se>
parents:
2818
diff
changeset
|
8 |
2170
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 Why |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 === |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 When shutting down, a number of sessions, connections and other things |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 are teared down. Due to all these things happening very quickly, |
2818 | 14 sometimes e.g. client unavailable notifications don't make it to all |
2170
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 remote contacts because the server-to-server connections are teared down |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 just after. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 How |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 === |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 This module works by breaking the shutdown process into separate steps |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 with a brief pause between them. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
23 |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
24 It goes something like this |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
25 |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
26 1. Stop accepting new client connections. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
27 2. Close all client connections. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
28 3. Fire event for everything else. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
29 4. Tell `net.server` to quit the main loop. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
30 5. ??? |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
31 6. Still here? Kill itself. |
4652a112a4ba
mod_graceful_shutdown: Experiment in improving the shutdown experience
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
32 |