@rpcbase/server 0.173.0 → 0.174.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -25,7 +25,7 @@ console.log("session-store hostname", hostname, "port", SESSION_STORE_PORT)
|
|
|
25
25
|
|
|
26
26
|
let session_middleware = null
|
|
27
27
|
|
|
28
|
-
//
|
|
28
|
+
// EXTREME WARNING: docker issue
|
|
29
29
|
// when there is synchronous io redis client fails to connect
|
|
30
30
|
setTimeout(async() => {
|
|
31
31
|
if (!SESSION_STORE_PORT) {
|
package/package.json
CHANGED
|
@@ -13,8 +13,8 @@ const log = debug("rb:queue:listener")
|
|
|
13
13
|
|
|
14
14
|
const RETRY_MINIMUM_DELAY = 10
|
|
15
15
|
const MAX_RETRIES = 16
|
|
16
|
+
// TODO: reset retry counters when connection becomes healthy again?
|
|
16
17
|
const retry_counters = {}
|
|
17
|
-
// TODO: reset retry counters when connection becomes healthy again
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
// Listens for mongodb change events,
|
|
@@ -37,18 +37,7 @@ const mongoose_delete_plugin = (schema) => {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
const get_dispatch_change_handler = (model_name
|
|
41
|
-
if (typeof filter_fn === "function") {
|
|
42
|
-
let ret
|
|
43
|
-
try {
|
|
44
|
-
ret = filter_fn(model_name, change)
|
|
45
|
-
} catch (err) {
|
|
46
|
-
console.log("get_dispatch_change_handler::filter_fn::error:", err)
|
|
47
|
-
}
|
|
48
|
-
if (!ret) {
|
|
49
|
-
return
|
|
50
|
-
}
|
|
51
|
-
}
|
|
40
|
+
const get_dispatch_change_handler = (model_name) => (change) => {
|
|
52
41
|
const op = change.operationType
|
|
53
42
|
if (["insert", "update"].includes(op)) {
|
|
54
43
|
dispatch_queue(queue, model_name, op, change.fullDocument)
|
|
@@ -56,7 +45,7 @@ const get_dispatch_change_handler = (model_name, filter_fn) => (change) => {
|
|
|
56
45
|
}
|
|
57
46
|
|
|
58
47
|
|
|
59
|
-
const register_model_emitter = (model_name
|
|
48
|
+
const register_model_emitter = (model_name) => {
|
|
60
49
|
log("registering emitter for", model_name)
|
|
61
50
|
|
|
62
51
|
const model = mongoose.model(model_name)
|
|
@@ -66,7 +55,7 @@ const register_model_emitter = (model_name, filter_fn) => {
|
|
|
66
55
|
// https://mongodb.github.io/node-mongodb-native/4.9/interfaces/ChangeStreamOptions.html
|
|
67
56
|
const emitter = model.watch({fullDocument: "updateLookup"})
|
|
68
57
|
|
|
69
|
-
emitter.on("change", get_dispatch_change_handler(model_name
|
|
58
|
+
emitter.on("change", get_dispatch_change_handler(model_name))
|
|
70
59
|
|
|
71
60
|
emitter.on("error", (err) => {
|
|
72
61
|
log("server:queue:register_queue_listener: change listener emitter got error", err)
|
|
@@ -88,7 +77,7 @@ const register_model_emitter = (model_name, filter_fn) => {
|
|
|
88
77
|
console.log("queue_listener: emitter closed, model:", model_name, "retrying in", timeout)
|
|
89
78
|
|
|
90
79
|
setTimeout(() => {
|
|
91
|
-
register_model_emitter(model_name
|
|
80
|
+
register_model_emitter(model_name)
|
|
92
81
|
}, timeout)
|
|
93
82
|
})
|
|
94
83
|
|
|
@@ -98,7 +87,7 @@ const register_model_emitter = (model_name, filter_fn) => {
|
|
|
98
87
|
}
|
|
99
88
|
|
|
100
89
|
|
|
101
|
-
const register_queue_listener = (
|
|
90
|
+
const register_queue_listener = () => {
|
|
102
91
|
// register the mongoose delete plugin
|
|
103
92
|
log("registering mongoose_delete_plugin")
|
|
104
93
|
mongoose.plugin(mongoose_delete_plugin)
|
|
@@ -106,7 +95,7 @@ const register_queue_listener = (filter_fn) => {
|
|
|
106
95
|
mongoose.connection.once("open", () => {
|
|
107
96
|
process.nextTick(() => {
|
|
108
97
|
const models = mongoose.modelNames()
|
|
109
|
-
models.forEach((model_name) => register_model_emitter(model_name
|
|
98
|
+
models.forEach((model_name) => register_model_emitter(model_name))
|
|
110
99
|
})
|
|
111
100
|
})
|
|
112
101
|
}
|