@cubejs-backend/query-orchestrator 0.35.78 → 0.36.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.
- package/dist/src/orchestrator/PreAggregations.d.ts +0 -2
- package/dist/src/orchestrator/PreAggregations.d.ts.map +1 -1
- package/dist/src/orchestrator/PreAggregations.js +22 -5
- package/dist/src/orchestrator/PreAggregations.js.map +1 -1
- package/dist/src/orchestrator/QueryCache.d.ts +0 -1
- package/dist/src/orchestrator/QueryCache.d.ts.map +1 -1
- package/dist/src/orchestrator/QueryCache.js +0 -6
- package/dist/src/orchestrator/QueryCache.js.map +1 -1
- package/dist/src/orchestrator/QueryOrchestrator.d.ts +1 -4
- package/dist/src/orchestrator/QueryOrchestrator.d.ts.map +1 -1
- package/dist/src/orchestrator/QueryOrchestrator.js +3 -19
- package/dist/src/orchestrator/QueryOrchestrator.js.map +1 -1
- package/dist/src/orchestrator/QueryQueue.d.ts.map +1 -1
- package/dist/src/orchestrator/QueryQueue.js +0 -3
- package/dist/src/orchestrator/QueryQueue.js.map +1 -1
- package/dist/src/orchestrator/index.d.ts +0 -6
- package/dist/src/orchestrator/index.d.ts.map +1 -1
- package/dist/src/orchestrator/index.js +0 -6
- package/dist/src/orchestrator/index.js.map +1 -1
- package/package.json +9 -14
- package/dist/src/orchestrator/AsyncRedisClient.d.ts +0 -30
- package/dist/src/orchestrator/AsyncRedisClient.d.ts.map +0 -1
- package/dist/src/orchestrator/AsyncRedisClient.js +0 -3
- package/dist/src/orchestrator/AsyncRedisClient.js.map +0 -1
- package/dist/src/orchestrator/IORedisFactory.d.ts +0 -5
- package/dist/src/orchestrator/IORedisFactory.d.ts.map +0 -1
- package/dist/src/orchestrator/IORedisFactory.js +0 -76
- package/dist/src/orchestrator/IORedisFactory.js.map +0 -1
- package/dist/src/orchestrator/RedisCacheDriver.d.ts +0 -23
- package/dist/src/orchestrator/RedisCacheDriver.d.ts.map +0 -1
- package/dist/src/orchestrator/RedisCacheDriver.js +0 -100
- package/dist/src/orchestrator/RedisCacheDriver.js.map +0 -1
- package/dist/src/orchestrator/RedisFactory.d.ts +0 -5
- package/dist/src/orchestrator/RedisFactory.d.ts.map +0 -1
- package/dist/src/orchestrator/RedisFactory.js +0 -51
- package/dist/src/orchestrator/RedisFactory.js.map +0 -1
- package/dist/src/orchestrator/RedisPool.d.ts +0 -23
- package/dist/src/orchestrator/RedisPool.d.ts.map +0 -1
- package/dist/src/orchestrator/RedisPool.js +0 -90
- package/dist/src/orchestrator/RedisPool.js.map +0 -1
- package/dist/src/orchestrator/RedisQueueDriver.d.ts +0 -64
- package/dist/src/orchestrator/RedisQueueDriver.d.ts.map +0 -1
- package/dist/src/orchestrator/RedisQueueDriver.js +0 -333
- package/dist/src/orchestrator/RedisQueueDriver.js.map +0 -1
- package/dist/src/orchestrator/RedisQueueEventsBus.d.ts +0 -10
- package/dist/src/orchestrator/RedisQueueEventsBus.d.ts.map +0 -1
- package/dist/src/orchestrator/RedisQueueEventsBus.js +0 -31
- package/dist/src/orchestrator/RedisQueueEventsBus.js.map +0 -1
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createIORedisClient = void 0;
|
|
7
|
-
const ioredis_1 = __importDefault(require("ioredis"));
|
|
8
|
-
const shared_1 = require("@cubejs-backend/shared");
|
|
9
|
-
const utils_1 = require("./utils");
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
ioredis_1.default.Pipeline.prototype.execAsync = function execAsync() {
|
|
12
|
-
return this.exec()
|
|
13
|
-
.then((array) => (array ? array.map((skipFirst) => skipFirst[1]) : array));
|
|
14
|
-
};
|
|
15
|
-
function decorateRedisClient(client) {
|
|
16
|
-
[
|
|
17
|
-
'brpop',
|
|
18
|
-
'del',
|
|
19
|
-
'get',
|
|
20
|
-
'hget',
|
|
21
|
-
'rpop',
|
|
22
|
-
'set',
|
|
23
|
-
'zadd',
|
|
24
|
-
'zrange',
|
|
25
|
-
'zrangebyscore',
|
|
26
|
-
'keys',
|
|
27
|
-
'watch',
|
|
28
|
-
'unwatch',
|
|
29
|
-
'incr',
|
|
30
|
-
'decr',
|
|
31
|
-
'lpush',
|
|
32
|
-
].forEach(k => {
|
|
33
|
-
client[`${k}Async`] = client[k];
|
|
34
|
-
});
|
|
35
|
-
client.end = () => client.disconnect();
|
|
36
|
-
return client;
|
|
37
|
-
}
|
|
38
|
-
async function createIORedisClient(url, opts) {
|
|
39
|
-
const options = {
|
|
40
|
-
enableReadyCheck: true,
|
|
41
|
-
lazyConnect: true
|
|
42
|
-
};
|
|
43
|
-
const parsedUrl = (0, utils_1.parseRedisUrl)(url);
|
|
44
|
-
if (parsedUrl.sentinels) {
|
|
45
|
-
options.sentinels = parsedUrl.sentinels;
|
|
46
|
-
options.name = parsedUrl.name;
|
|
47
|
-
options.db = parsedUrl.db;
|
|
48
|
-
options.enableOfflineQueue = false;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
options.username = parsedUrl.username;
|
|
52
|
-
options.password = parsedUrl.password;
|
|
53
|
-
options.host = parsedUrl.host;
|
|
54
|
-
options.port = parsedUrl.port;
|
|
55
|
-
options.path = parsedUrl.path;
|
|
56
|
-
options.db = parsedUrl.db;
|
|
57
|
-
if (parsedUrl.ssl) {
|
|
58
|
-
options.tls = {};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
if ((0, shared_1.getEnv)('redisTls')) {
|
|
62
|
-
options.tls = {};
|
|
63
|
-
}
|
|
64
|
-
const password = (0, shared_1.getEnv)('redisPassword');
|
|
65
|
-
if (password) {
|
|
66
|
-
options.password = password;
|
|
67
|
-
}
|
|
68
|
-
const client = new ioredis_1.default({
|
|
69
|
-
...options,
|
|
70
|
-
...opts,
|
|
71
|
-
});
|
|
72
|
-
await client.connect();
|
|
73
|
-
return decorateRedisClient(client);
|
|
74
|
-
}
|
|
75
|
-
exports.createIORedisClient = createIORedisClient;
|
|
76
|
-
//# sourceMappingURL=IORedisFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IORedisFactory.js","sourceRoot":"","sources":["../../../src/orchestrator/IORedisFactory.ts"],"names":[],"mappings":";;;;;;AAAA,sDAA8D;AAC9D,mDAAgD;AAEhD,mCAAwC;AAIxC,aAAa;AACb,iBAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IACrD,OAAO,IAAI,CAAC,IAAI,EAAE;SACf,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,SAAS,mBAAmB,CAAC,MAAa;IACxC;QACE,OAAO;QACP,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,eAAe;QACf,MAAM;QACN,OAAO;QACP,SAAS;QACT,MAAM;QACN,MAAM;QACN,OAAO;KACR,CAAC,OAAO,CACP,CAAC,CAAC,EAAE;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CACF,CAAC;IAEI,MAAO,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAE9C,OAAY,MAAM,CAAC;AACrB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,GAAW,EAAE,IAAkB;IACvE,MAAM,OAAO,GAAiB;QAC5B,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,qBAAa,EAAC,GAAG,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,SAAS,EAAE;QACvB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9B,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC;KACpC;SAAM;QACL,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACtC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QACtC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9B,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC9B,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QAE1B,IAAI,SAAS,CAAC,GAAG,EAAE;YACjB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;SAClB;KACF;IAED,IAAI,IAAA,eAAM,EAAC,UAAU,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;KAClB;IAED,MAAM,QAAQ,GAAG,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC;IACzC,IAAI,QAAQ,EAAE;QACZ,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;KAC7B;IAED,MAAM,MAAM,GAAG,IAAI,iBAAK,CAAC;QACvB,GAAG,OAAO;QACV,GAAG,IAAI;KACR,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAEvB,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAzCD,kDAyCC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { MaybeCancelablePromise } from '@cubejs-backend/shared';
|
|
2
|
-
import { CacheDriverInterface } from '@cubejs-backend/base-driver';
|
|
3
|
-
import { RedisPool } from './RedisPool';
|
|
4
|
-
interface RedisCacheDriverOptions {
|
|
5
|
-
pool: RedisPool;
|
|
6
|
-
}
|
|
7
|
-
export declare class RedisCacheDriver implements CacheDriverInterface {
|
|
8
|
-
protected readonly redisPool: RedisPool;
|
|
9
|
-
constructor({ pool }: RedisCacheDriverOptions);
|
|
10
|
-
protected getClient(): Promise<import("./AsyncRedisClient").AsyncRedisClient>;
|
|
11
|
-
get(key: string): Promise<any>;
|
|
12
|
-
withLock: (key: string, cb: () => MaybeCancelablePromise<any>, expiration?: number, freeAfter?: boolean) => import("@cubejs-backend/shared").CancelablePromise<boolean>;
|
|
13
|
-
set(key: string, value: any, expiration: any): Promise<{
|
|
14
|
-
key: string;
|
|
15
|
-
bytes: number;
|
|
16
|
-
}>;
|
|
17
|
-
remove(key: string): Promise<any>;
|
|
18
|
-
keysStartingWith(prefix: string): Promise<any>;
|
|
19
|
-
cleanup(): Promise<void>;
|
|
20
|
-
testConnection(): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
export {};
|
|
23
|
-
//# sourceMappingURL=RedisCacheDriver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisCacheDriver.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/RedisCacheDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,UAAU,uBAAuB;IAC/B,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,qBAAa,gBAAiB,YAAW,oBAAoB;IAC3D,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;gBAErB,EAAE,IAAI,EAAE,EAAE,uBAAuB;cAIpC,SAAS;IAIZ,GAAG,CAAC,GAAG,EAAE,MAAM;IAWrB,QAAQ,QACR,MAAM,MACP,MAAM,uBAAuB,GAAG,CAAC,eACzB,MAAM,cACP,OAAO,iEAyCjB;IAEU,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,KAAA,EAAE,UAAU,KAAA;;;;IAelC,MAAM,CAAC,GAAG,EAAE,MAAM;IAUlB,gBAAgB,CAAC,MAAM,EAAE,MAAM;IAU/B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAS7C"}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RedisCacheDriver = void 0;
|
|
4
|
-
const shared_1 = require("@cubejs-backend/shared");
|
|
5
|
-
class RedisCacheDriver {
|
|
6
|
-
constructor({ pool }) {
|
|
7
|
-
this.withLock = (key, cb, expiration = 60, freeAfter = true) => (0, shared_1.createCancelablePromise)(async (tkn) => {
|
|
8
|
-
const client = await this.getClient();
|
|
9
|
-
try {
|
|
10
|
-
if (tkn.isCanceled()) {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
const response = await client.setAsync(key, '1',
|
|
14
|
-
// Only set the key if it does not already exist.
|
|
15
|
-
'NX', 'EX', expiration);
|
|
16
|
-
if (response === 'OK') {
|
|
17
|
-
if (tkn.isCanceled()) {
|
|
18
|
-
if (freeAfter) {
|
|
19
|
-
await client.delAsync(key);
|
|
20
|
-
}
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
try {
|
|
24
|
-
await tkn.with(cb());
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
if (freeAfter) {
|
|
28
|
-
await client.delAsync(key);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
}
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
finally {
|
|
36
|
-
this.redisPool.release(client);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
this.redisPool = pool;
|
|
40
|
-
}
|
|
41
|
-
async getClient() {
|
|
42
|
-
return this.redisPool.getClient();
|
|
43
|
-
}
|
|
44
|
-
async get(key) {
|
|
45
|
-
const client = await this.getClient();
|
|
46
|
-
try {
|
|
47
|
-
const res = await client.getAsync(key);
|
|
48
|
-
return res && JSON.parse(res);
|
|
49
|
-
}
|
|
50
|
-
finally {
|
|
51
|
-
this.redisPool.release(client);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
async set(key, value, expiration) {
|
|
55
|
-
const client = await this.getClient();
|
|
56
|
-
try {
|
|
57
|
-
const strValue = JSON.stringify(value);
|
|
58
|
-
await client.setAsync(key, strValue, 'EX', expiration);
|
|
59
|
-
return {
|
|
60
|
-
key,
|
|
61
|
-
bytes: Buffer.byteLength(strValue),
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
finally {
|
|
65
|
-
this.redisPool.release(client);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
async remove(key) {
|
|
69
|
-
const client = await this.getClient();
|
|
70
|
-
try {
|
|
71
|
-
return await client.delAsync(key);
|
|
72
|
-
}
|
|
73
|
-
finally {
|
|
74
|
-
this.redisPool.release(client);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async keysStartingWith(prefix) {
|
|
78
|
-
const client = await this.getClient();
|
|
79
|
-
try {
|
|
80
|
-
return await client.keysAsync(`${prefix}*`);
|
|
81
|
-
}
|
|
82
|
-
finally {
|
|
83
|
-
this.redisPool.release(client);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
async cleanup() {
|
|
87
|
-
return this.redisPool.cleanup();
|
|
88
|
-
}
|
|
89
|
-
async testConnection() {
|
|
90
|
-
const client = await this.getClient();
|
|
91
|
-
try {
|
|
92
|
-
await client.ping();
|
|
93
|
-
}
|
|
94
|
-
finally {
|
|
95
|
-
this.redisPool.release(client);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
exports.RedisCacheDriver = RedisCacheDriver;
|
|
100
|
-
//# sourceMappingURL=RedisCacheDriver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisCacheDriver.js","sourceRoot":"","sources":["../../../src/orchestrator/RedisCacheDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ClientOpts } from 'redis';
|
|
2
|
-
import AsyncRedisClient from './AsyncRedisClient';
|
|
3
|
-
export type RedisOptions = ClientOpts;
|
|
4
|
-
export declare function createRedisClient(url: string, opts?: ClientOpts): Promise<AsyncRedisClient>;
|
|
5
|
-
//# sourceMappingURL=RedisFactory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisFactory.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/RedisFactory.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,UAAU,EAAe,MAAM,OAAO,CAAC;AAGvD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;AAkCtC,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,UAAe,6BAmBzE"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.createRedisClient = void 0;
|
|
7
|
-
const redis_1 = __importDefault(require("redis"));
|
|
8
|
-
const shared_1 = require("@cubejs-backend/shared");
|
|
9
|
-
const util_1 = require("util");
|
|
10
|
-
function decorateRedisClient(client) {
|
|
11
|
-
[
|
|
12
|
-
'brpop',
|
|
13
|
-
'del',
|
|
14
|
-
'get',
|
|
15
|
-
'hget',
|
|
16
|
-
'rpop',
|
|
17
|
-
'set',
|
|
18
|
-
'zadd',
|
|
19
|
-
'zrange',
|
|
20
|
-
'zrangebyscore',
|
|
21
|
-
'keys',
|
|
22
|
-
'watch',
|
|
23
|
-
'unwatch',
|
|
24
|
-
'incr',
|
|
25
|
-
'decr',
|
|
26
|
-
'lpush',
|
|
27
|
-
].forEach(k => {
|
|
28
|
-
client[`${k}Async`] = (0, util_1.promisify)(client[k]);
|
|
29
|
-
});
|
|
30
|
-
return client;
|
|
31
|
-
}
|
|
32
|
-
redis_1.default.Multi.prototype.execAsync = function execAsync() {
|
|
33
|
-
return new Promise((resolve, reject) => this.exec((err, res) => (err ? reject(err) : resolve(res))));
|
|
34
|
-
};
|
|
35
|
-
async function createRedisClient(url, opts = {}) {
|
|
36
|
-
const options = {
|
|
37
|
-
url,
|
|
38
|
-
};
|
|
39
|
-
if ((0, shared_1.getEnv)('redisTls')) {
|
|
40
|
-
options.tls = {};
|
|
41
|
-
}
|
|
42
|
-
if ((0, shared_1.getEnv)('redisPassword')) {
|
|
43
|
-
options.password = (0, shared_1.getEnv)('redisPassword');
|
|
44
|
-
}
|
|
45
|
-
return decorateRedisClient(redis_1.default.createClient({
|
|
46
|
-
...options,
|
|
47
|
-
...opts,
|
|
48
|
-
}));
|
|
49
|
-
}
|
|
50
|
-
exports.createRedisClient = createRedisClient;
|
|
51
|
-
//# sourceMappingURL=RedisFactory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisFactory.js","sourceRoot":"","sources":["../../../src/orchestrator/RedisFactory.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuD;AACvD,mDAAgD;AAChD,+BAAiC;AAKjC,SAAS,mBAAmB,CAAC,MAAmB;IAC9C;QACE,OAAO;QACP,KAAK;QACL,KAAK;QACL,MAAM;QACN,MAAM;QACN,KAAK;QACL,MAAM;QACN,QAAQ;QACR,eAAe;QACf,MAAM;QACN,OAAO;QACP,SAAS;QACT,MAAM;QACN,MAAM;QACN,OAAO;KACR,CAAC,OAAO,CACP,CAAC,CAAC,EAAE;QACF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CACF,CAAC;IAEF,OAAyB,MAAM,CAAC;AAClC,CAAC;AAED,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAClD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAC9D,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CACjC,CAAC,CAAC,CAAC;AACN,CAAC,CAAC;AAEK,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,OAAmB,EAAE;IACxE,MAAM,OAAO,GAAe;QAC1B,GAAG;KACJ,CAAC;IAEF,IAAI,IAAA,eAAM,EAAC,UAAU,CAAC,EAAE;QACtB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;KAClB;IAED,IAAI,IAAA,eAAM,EAAC,eAAe,CAAC,EAAE;QAC3B,OAAO,CAAC,QAAQ,GAAG,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC;KAC5C;IAED,OAAO,mBAAmB,CACxB,eAAK,CAAC,YAAY,CAAC;QACjB,GAAG,OAAO;QACV,GAAG,IAAI;KACR,CAAC,CACH,CAAC;AACJ,CAAC;AAnBD,8CAmBC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Pool, Options as PoolOptions } from 'generic-pool';
|
|
2
|
-
import AsyncRedisClient from './AsyncRedisClient';
|
|
3
|
-
export type CreateRedisClientFn = () => Promise<AsyncRedisClient>;
|
|
4
|
-
export interface RedisPoolOptions {
|
|
5
|
-
poolMin?: number;
|
|
6
|
-
poolMax?: number;
|
|
7
|
-
idleTimeoutSeconds?: number;
|
|
8
|
-
softIdleTimeoutSeconds?: number;
|
|
9
|
-
poolOptions?: Omit<PoolOptions, 'max' | 'min'>;
|
|
10
|
-
createClient?: CreateRedisClientFn;
|
|
11
|
-
destroyClient?: (client: AsyncRedisClient) => Promise<void>;
|
|
12
|
-
}
|
|
13
|
-
export declare class RedisPool {
|
|
14
|
-
protected readonly pool: Pool<AsyncRedisClient> | null;
|
|
15
|
-
protected readonly create: CreateRedisClientFn | null;
|
|
16
|
-
protected poolErrors: number;
|
|
17
|
-
constructor(options?: RedisPoolOptions);
|
|
18
|
-
getClient(): Promise<AsyncRedisClient>;
|
|
19
|
-
release(client: AsyncRedisClient): void;
|
|
20
|
-
testConnection(): Promise<void>;
|
|
21
|
-
cleanup(): Promise<void>;
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=RedisPool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisPool.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/RedisPool.ts"],"names":[],"mappings":"AACA,OAAoB,EAAE,IAAI,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAYlD,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;IAC/C,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7D;AAID,qBAAa,SAAS;IACpB,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAQ;IAE9D,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAE7D,SAAS,CAAC,UAAU,EAAE,MAAM,CAAK;gBAEd,OAAO,GAAE,gBAAqB;IAqCpC,SAAS;IAQf,OAAO,CAAC,MAAM,EAAE,gBAAgB;IAU1B,cAAc;IAUd,OAAO;CAMrB"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RedisPool = void 0;
|
|
7
|
-
/* eslint-disable global-require */
|
|
8
|
-
const generic_pool_1 = __importDefault(require("generic-pool"));
|
|
9
|
-
const shared_1 = require("@cubejs-backend/shared");
|
|
10
|
-
const RedisFactory_1 = require("./RedisFactory");
|
|
11
|
-
const IORedisFactory_1 = require("./IORedisFactory");
|
|
12
|
-
function createRedisClient(url, opts = {}) {
|
|
13
|
-
if ((0, shared_1.getEnv)('redisUseIORedis')) {
|
|
14
|
-
return (0, IORedisFactory_1.createIORedisClient)(url, opts);
|
|
15
|
-
}
|
|
16
|
-
return (0, RedisFactory_1.createRedisClient)(url, opts);
|
|
17
|
-
}
|
|
18
|
-
const MAX_ALLOWED_POOL_ERRORS = 100;
|
|
19
|
-
class RedisPool {
|
|
20
|
-
constructor(options = {}) {
|
|
21
|
-
this.pool = null;
|
|
22
|
-
this.create = null;
|
|
23
|
-
this.poolErrors = 0;
|
|
24
|
-
const min = (typeof options.poolMin !== 'undefined') ? options.poolMin : (0, shared_1.getEnv)('redisPoolMin');
|
|
25
|
-
const max = (typeof options.poolMax !== 'undefined') ? options.poolMax : (0, shared_1.getEnv)('redisPoolMax');
|
|
26
|
-
const opts = {
|
|
27
|
-
min,
|
|
28
|
-
max,
|
|
29
|
-
acquireTimeoutMillis: (0, shared_1.getEnv)('redisAcquireTimeout') || 5000,
|
|
30
|
-
evictionRunIntervalMillis: 5000,
|
|
31
|
-
// idleTimeoutSeconds and softIdleTimeoutSeconds should be deprecated in favour of options.poolOptions.idleTimeoutMillis
|
|
32
|
-
idleTimeoutMillis: options.idleTimeoutSeconds ? options.idleTimeoutSeconds * 1000 : 5000,
|
|
33
|
-
softIdleTimeoutMillis: options.softIdleTimeoutSeconds ? options.softIdleTimeoutSeconds * 1000 : 5000,
|
|
34
|
-
...(options.poolOptions || {})
|
|
35
|
-
};
|
|
36
|
-
const create = options.createClient || (async () => createRedisClient((0, shared_1.getEnv)('redisUrl')));
|
|
37
|
-
if (max > 0) {
|
|
38
|
-
const destroy = options.destroyClient || (async (client) => client.end(true));
|
|
39
|
-
this.pool = generic_pool_1.default.createPool({ create, destroy }, opts);
|
|
40
|
-
this.pool.on('factoryCreateError', (error) => {
|
|
41
|
-
this.poolErrors++;
|
|
42
|
-
// prevent the infinite loop when pool creation fails too many times
|
|
43
|
-
if (this.poolErrors > MAX_ALLOWED_POOL_ERRORS) {
|
|
44
|
-
// @ts-ignore
|
|
45
|
-
// eslint-disable-next-line
|
|
46
|
-
this.pool._waitingClientsQueue.dequeue().reject(error);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// fallback to un-pooled behavior if pool max is 0
|
|
52
|
-
this.create = create;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
async getClient() {
|
|
56
|
-
if (this.pool) {
|
|
57
|
-
return this.pool.acquire();
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
return this.create();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
release(client) {
|
|
64
|
-
if (this.pool) {
|
|
65
|
-
this.pool.release(client).catch(() => {
|
|
66
|
-
// nothing to do
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
else if (client) {
|
|
70
|
-
client.quit();
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async testConnection() {
|
|
74
|
-
const client = await this.getClient();
|
|
75
|
-
try {
|
|
76
|
-
await client.ping();
|
|
77
|
-
}
|
|
78
|
-
finally {
|
|
79
|
-
this.release(client);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
async cleanup() {
|
|
83
|
-
if (this.pool) {
|
|
84
|
-
await this.pool.drain();
|
|
85
|
-
this.pool.clear();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
exports.RedisPool = RedisPool;
|
|
90
|
-
//# sourceMappingURL=RedisPool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisPool.js","sourceRoot":"","sources":["../../../src/orchestrator/RedisPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { QueueDriverInterface, QueueDriverConnectionInterface, QueueDriverOptions, GetActiveAndToProcessResponse, QueryDef, QueryKeyHash, QueryStageStateResponse, QueryKey, AddToQueueQuery, AddToQueueOptions, AddToQueueResponse, ProcessingId, RetrieveForProcessingResponse, QueryKeysTuple } from '@cubejs-backend/base-driver';
|
|
2
|
-
import { BaseQueueDriver } from './BaseQueueDriver';
|
|
3
|
-
import { RedisPool } from './RedisPool';
|
|
4
|
-
type AsyncRedisClient = any;
|
|
5
|
-
interface RedisQueueDriverConnectionOptions extends QueueDriverOptions {
|
|
6
|
-
redisClient: AsyncRedisClient;
|
|
7
|
-
}
|
|
8
|
-
export declare class RedisQueueDriverConnection implements QueueDriverConnectionInterface {
|
|
9
|
-
protected readonly redisClient: AsyncRedisClient;
|
|
10
|
-
protected readonly driver: RedisQueueDriver;
|
|
11
|
-
protected readonly redisQueuePrefix: string;
|
|
12
|
-
protected readonly heartBeatTimeout: number;
|
|
13
|
-
protected readonly concurrency: number;
|
|
14
|
-
protected readonly getQueueEventsBus: any;
|
|
15
|
-
protected readonly continueWaitTimeout: number;
|
|
16
|
-
constructor(driver: RedisQueueDriver, options: RedisQueueDriverConnectionOptions);
|
|
17
|
-
getRedisClient(): any;
|
|
18
|
-
getResultBlocking(queryKeyHash: any): Promise<any>;
|
|
19
|
-
getResult(queryKey: any): Promise<any>;
|
|
20
|
-
getQueriesToCancel(): Promise<QueryKeysTuple[]>;
|
|
21
|
-
getActiveAndToProcess(): Promise<GetActiveAndToProcessResponse>;
|
|
22
|
-
addToQueue(keyScore: number, queryKey: QueryKey, orphanedTime: number, queryHandler: string, query: AddToQueueQuery, priority: number, options: AddToQueueOptions): Promise<AddToQueueResponse>;
|
|
23
|
-
getToProcessQueries(): Promise<QueryKeysTuple[]>;
|
|
24
|
-
getActiveQueries(): Promise<QueryKeysTuple[]>;
|
|
25
|
-
getQueryAndRemove(queryKey: QueryKeyHash): Promise<[QueryDef]>;
|
|
26
|
-
cancelQuery(queryKey: any): Promise<unknown>;
|
|
27
|
-
setResultAndRemoveQuery(queryKey: any, executionResult: any, processingId: any): Promise<any>;
|
|
28
|
-
getOrphanedQueries(): Promise<QueryKeysTuple[]>;
|
|
29
|
-
getStalledQueries(): Promise<QueryKeysTuple[]>;
|
|
30
|
-
getQueryStageState(onlyKeys: boolean): Promise<QueryStageStateResponse>;
|
|
31
|
-
getQueryDef(queryKey: any): Promise<any>;
|
|
32
|
-
/**
|
|
33
|
-
* Updates heart beat for the processing query by its `queryKey`.
|
|
34
|
-
*/
|
|
35
|
-
updateHeartBeat(queryKey: any): Promise<any>;
|
|
36
|
-
getNextProcessingId(): Promise<any>;
|
|
37
|
-
retrieveForProcessing(queryKey: QueryKeyHash, processingId: ProcessingId): Promise<RetrieveForProcessingResponse>;
|
|
38
|
-
freeProcessingLock(queryKey: any, processingId: any, activated: any): Promise<any>;
|
|
39
|
-
optimisticQueryUpdate(queryKey: any, toUpdate: any, processingId: any): Promise<boolean>;
|
|
40
|
-
release(): any;
|
|
41
|
-
protected toProcessRedisKey(): string;
|
|
42
|
-
protected recentRedisKey(): string;
|
|
43
|
-
protected activeRedisKey(): string;
|
|
44
|
-
protected heartBeatRedisKey(): string;
|
|
45
|
-
protected queryRedisKey(queryKey: any, suffix: any): string;
|
|
46
|
-
protected queueRedisKey(suffix: any): string;
|
|
47
|
-
protected queriesDefKey(): string;
|
|
48
|
-
protected processingIdKey(): string;
|
|
49
|
-
protected resultListKey(queryKey: any): string;
|
|
50
|
-
protected queryProcessingLockKey(queryKey: any): string;
|
|
51
|
-
redisHash(queryKey: any): QueryKeyHash;
|
|
52
|
-
}
|
|
53
|
-
interface RedisQueueDriverOptions extends QueueDriverOptions {
|
|
54
|
-
redisPool: RedisPool;
|
|
55
|
-
}
|
|
56
|
-
export declare class RedisQueueDriver extends BaseQueueDriver implements QueueDriverInterface {
|
|
57
|
-
protected readonly redisPool: RedisPool;
|
|
58
|
-
protected readonly options: RedisQueueDriverOptions;
|
|
59
|
-
constructor(options: RedisQueueDriverOptions);
|
|
60
|
-
createConnection(): Promise<RedisQueueDriverConnection>;
|
|
61
|
-
release(connection: RedisQueueDriverConnection): void;
|
|
62
|
-
}
|
|
63
|
-
export {};
|
|
64
|
-
//# sourceMappingURL=RedisQueueDriver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RedisQueueDriver.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/RedisQueueDriver.ts"],"names":[],"mappings":"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"}
|