@toa.io/extensions.stash 1.0.0-alpha.313 → 1.0.0-alpha.315
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.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toa.io/extensions.stash",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.315",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Toa Stash",
|
|
6
6
|
"author": "temich <tema.gurtovoy@gmail.com>",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"!**/.env*"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@toa.io/core": "1.0.0-alpha.
|
|
29
|
-
"@toa.io/definitions": "1.0.0-alpha.
|
|
28
|
+
"@toa.io/core": "1.0.0-alpha.315",
|
|
29
|
+
"@toa.io/definitions": "1.0.0-alpha.315",
|
|
30
30
|
"@toa.io/generic": "1.0.0-alpha.311",
|
|
31
31
|
"@toa.io/pointer": "1.0.0-alpha.311",
|
|
32
32
|
"ioredis": "6.0.0",
|
|
@@ -36,5 +36,5 @@
|
|
|
36
36
|
"scripts": {
|
|
37
37
|
"transpile": "tsc"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "d88ed286bf44bf95b5f3d9db6e7d4621261dbb99"
|
|
40
40
|
}
|
|
@@ -5,6 +5,12 @@ export declare class Connection extends Connector {
|
|
|
5
5
|
readonly locator: Locator;
|
|
6
6
|
constructor(locator: Locator);
|
|
7
7
|
protected open(): Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* The client reconnects on its own and reports every attempt that fails, so an outage is said
|
|
10
|
+
* once, and so is its end. A client with nothing listening for its errors prints each of them
|
|
11
|
+
* past the logs, as unhandled.
|
|
12
|
+
*/
|
|
13
|
+
private watch;
|
|
8
14
|
protected close(): Promise<void>;
|
|
9
15
|
private resolveURL;
|
|
10
16
|
}
|
package/transpiled/Connection.js
CHANGED
|
@@ -21,10 +21,36 @@ export class Connection extends Connector {
|
|
|
21
21
|
protocol: 3,
|
|
22
22
|
replyMapping: 'resp3'
|
|
23
23
|
};
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const redis = new Redis(await this.resolveURL(), options);
|
|
25
|
+
this.redis = redis;
|
|
26
|
+
this.watch(redis);
|
|
27
|
+
await redis.connect();
|
|
26
28
|
console.info('Stash connected to redis', { host: this.redis.options.host });
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* The client reconnects on its own and reports every attempt that fails, so an outage is said
|
|
32
|
+
* once, and so is its end. A client with nothing listening for its errors prints each of them
|
|
33
|
+
* past the logs, as unhandled.
|
|
34
|
+
*/
|
|
35
|
+
watch(redis) {
|
|
36
|
+
let lost = false;
|
|
37
|
+
// ioredis leaves `message` empty on a refused connection, where the code is the whole story
|
|
38
|
+
redis.on('error', (error) => {
|
|
39
|
+
if (lost)
|
|
40
|
+
return;
|
|
41
|
+
lost = true;
|
|
42
|
+
console.warn('Stash is unreachable', {
|
|
43
|
+
host: redis.options.host,
|
|
44
|
+
error: error.code ?? error.message
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
redis.on('ready', () => {
|
|
48
|
+
if (!lost)
|
|
49
|
+
return;
|
|
50
|
+
lost = false;
|
|
51
|
+
console.info('Stash reconnected', { host: redis.options.host });
|
|
52
|
+
});
|
|
53
|
+
}
|
|
28
54
|
async close() {
|
|
29
55
|
this.redis?.disconnect();
|
|
30
56
|
this.redis = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../source/Connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,EAAE,SAAS,EAAgB,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,sCAAsC,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C,MAAM,OAAO,UAAW,SAAQ,SAAS;IAChC,KAAK,GAAiB,IAAI,CAAA;IACjB,OAAO,CAAS;IAEhC,YAAmB,OAAgB;QACjC,KAAK,EAAE,CAAA;QAEP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAEkB,KAAK,CAAC,IAAI;QAC3B,0FAA0F;QAC1F,MAAM,SAAS,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAA;QAE1F,MAAM,OAAO,GAAiB;YAC5B,SAAS;YACT,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,OAAO;SACtB,CAAA;QAED,
|
|
1
|
+
{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../source/Connection.ts"],"names":[],"mappings":"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"}
|