Mercurial > prosody-modules
annotate mod_storage_multi/README.markdown @ 4942:e7b9bc629ecc
mod_rest: Add special handling to catch MAM results from remote hosts
Makes MAM queries to remote hosts works.
As the comment says, MAM results from users' local archives or local
MUCs are returned via origin.send() which is provided in the event and
thus already worked. Results from remote hosts go via normal stanza
routing and events, which need this extra handling to catch.
This pattern of iq-set, message+, iq-result is generally limited to MAM.
Closest similar thing might be MUC join, but to really handle that you
would need the webhook callback mechanism.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 16 May 2022 19:47:09 +0200 |
parents | a7fdab9c14e2 |
children |
rev | line source |
---|---|
1886 | 1 --- |
2 summary: Multi-backend storage module (WIP) | |
3 labels: | |
4 - NeedDocs | |
1887
a7fdab9c14e2
mod_storage_multi: Put in Alpha stage
Kim Alvefur <zash@zash.se>
parents:
1886
diff
changeset
|
5 - Stage-Alpha |
1886 | 6 ... |
7 | |
8 Introduction | |
9 ============ | |
10 | |
11 This module attemtps to provide a storage driver that is really multiple | |
12 storage drivers. This could be used for storage error tolerance or | |
13 caching of data in a faster storage driver. | |
14 | |
15 Configuration | |
16 ============= | |
17 | |
18 An example: | |
19 | |
20 ``` {.lua} | |
21 storage = "multi" | |
22 storage_multi_policy = "all" | |
23 storage_multi = { | |
24 "memory", | |
25 "internal", | |
26 "sql" | |
27 } | |
28 ``` | |
29 | |
30 Here data would be first read from or written to [mod\_storage\_memory], | |
31 then internal storage, then SQL storage. For reads, the first successful | |
32 read will be used. For writes, it depends on the `storage_multi_policy` | |
33 option. If set to `"all"`, then all storage backends must report success | |
34 for the write to be considered successful. Other options are `"one"` and | |
35 `"majority"`. |