@cubejs-backend/query-orchestrator 0.23.3 → 0.24.2
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/CHANGELOG.md +38 -0
- package/README.md +2 -2
- package/dist/src/driver/BaseDriver.d.ts +36 -0
- package/dist/src/driver/BaseDriver.d.ts.map +1 -0
- package/dist/src/driver/BaseDriver.js +175 -0
- package/dist/src/driver/BaseDriver.js.map +1 -0
- package/dist/src/driver/index.d.ts +3 -0
- package/dist/src/driver/index.d.ts.map +1 -0
- package/dist/src/driver/index.js +15 -0
- package/dist/src/driver/index.js.map +1 -0
- package/dist/src/driver/utils.d.ts +2 -0
- package/dist/src/driver/utils.d.ts.map +1 -0
- package/dist/src/driver/utils.js +17 -0
- package/dist/src/driver/utils.js.map +1 -0
- package/dist/src/index.d.ts +3 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +15 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/orchestrator/BaseQueueDriver.d.ts +4 -0
- package/dist/src/orchestrator/BaseQueueDriver.d.ts.map +1 -0
- package/dist/src/orchestrator/BaseQueueDriver.js +16 -0
- package/dist/src/orchestrator/BaseQueueDriver.js.map +1 -0
- package/dist/src/orchestrator/ContinueWaitError.d.ts +3 -0
- package/dist/src/orchestrator/ContinueWaitError.d.ts.map +1 -0
- package/dist/src/orchestrator/ContinueWaitError.js +10 -0
- package/dist/src/orchestrator/ContinueWaitError.js.map +1 -0
- package/dist/src/orchestrator/LocalCacheDriver.d.ts +8 -0
- package/dist/src/orchestrator/LocalCacheDriver.d.ts.map +1 -0
- package/dist/src/orchestrator/LocalCacheDriver.js +30 -0
- package/dist/src/orchestrator/LocalCacheDriver.js.map +1 -0
- package/dist/src/orchestrator/LocalQueueDriver.d.ts +57 -0
- package/dist/src/orchestrator/LocalQueueDriver.d.ts.map +1 -0
- package/dist/src/orchestrator/LocalQueueDriver.js +230 -0
- package/dist/src/orchestrator/LocalQueueDriver.js.map +1 -0
- package/dist/src/orchestrator/PreAggregations.d.ts +26 -0
- package/dist/src/orchestrator/PreAggregations.d.ts.map +1 -0
- package/dist/src/orchestrator/PreAggregations.js +565 -0
- package/dist/src/orchestrator/PreAggregations.js.map +1 -0
- package/dist/src/orchestrator/QueryCache.d.ts +51 -0
- package/dist/src/orchestrator/QueryCache.d.ts.map +1 -0
- package/dist/src/orchestrator/QueryCache.js +293 -0
- package/dist/src/orchestrator/QueryCache.js.map +1 -0
- package/dist/src/orchestrator/QueryOrchestrator.d.ts +27 -0
- package/dist/src/orchestrator/QueryOrchestrator.d.ts.map +1 -0
- package/dist/src/orchestrator/QueryOrchestrator.js +79 -0
- package/dist/src/orchestrator/QueryOrchestrator.js.map +1 -0
- package/dist/src/orchestrator/QueryQueue.d.ts +36 -0
- package/dist/src/orchestrator/QueryQueue.d.ts.map +1 -0
- package/dist/src/orchestrator/QueryQueue.js +351 -0
- package/dist/src/orchestrator/QueryQueue.js.map +1 -0
- package/dist/src/orchestrator/RedisCacheDriver.d.ts +12 -0
- package/dist/src/orchestrator/RedisCacheDriver.d.ts.map +1 -0
- package/dist/src/orchestrator/RedisCacheDriver.js +50 -0
- package/dist/src/orchestrator/RedisCacheDriver.js.map +1 -0
- package/dist/src/orchestrator/RedisFactory.d.ts +3 -0
- package/dist/src/orchestrator/RedisFactory.d.ts.map +1 -0
- package/dist/src/orchestrator/RedisFactory.js +45 -0
- package/dist/src/orchestrator/RedisFactory.js.map +1 -0
- package/dist/src/orchestrator/RedisPool.d.ts +10 -0
- package/dist/src/orchestrator/RedisPool.d.ts.map +1 -0
- package/dist/src/orchestrator/RedisPool.js +57 -0
- package/dist/src/orchestrator/RedisPool.js.map +1 -0
- package/dist/src/orchestrator/RedisQueueDriver.d.ts +47 -0
- package/dist/src/orchestrator/RedisQueueDriver.d.ts.map +1 -0
- package/dist/src/orchestrator/RedisQueueDriver.js +253 -0
- package/dist/src/orchestrator/RedisQueueDriver.js.map +1 -0
- package/dist/src/orchestrator/TimeoutError.d.ts +4 -0
- package/dist/src/orchestrator/TimeoutError.d.ts.map +1 -0
- package/dist/src/orchestrator/TimeoutError.js +7 -0
- package/dist/src/orchestrator/TimeoutError.js.map +1 -0
- package/dist/src/orchestrator/index.d.ts +14 -0
- package/dist/src/orchestrator/index.d.ts.map +1 -0
- package/dist/src/orchestrator/index.js +26 -0
- package/dist/src/orchestrator/index.js.map +1 -0
- package/driver/BaseDriver.js +5 -221
- package/driver/README.md +3 -0
- package/driver/utils.js +8 -12
- package/orchestrator/BaseQueueDriver.js +5 -8
- package/orchestrator/ContinueWaitError.js +6 -5
- package/orchestrator/LocalCacheDriver.js +5 -29
- package/orchestrator/LocalQueueDriver.js +5 -256
- package/orchestrator/PreAggregations.js +4 -764
- package/orchestrator/QueryCache.js +5 -381
- package/orchestrator/QueryOrchestrator.js +5 -100
- package/orchestrator/QueryQueue.js +5 -378
- package/orchestrator/README.md +3 -0
- package/orchestrator/RedisCacheDriver.js +5 -45
- package/orchestrator/RedisFactory.js +6 -46
- package/orchestrator/RedisPool.js +5 -49
- package/orchestrator/RedisQueueDriver.js +5 -283
- package/orchestrator/TimeoutError.js +6 -1
- package/package.json +29 -10
- package/test/integration/PreAggregations.test.js +0 -337
- package/test/integration/QueryQueueRedis.test.js +0 -6
- package/test/unit/QueryOrchestrator.test.js +0 -301
- package/test/unit/QueryQueue.test.js +0 -249
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.24.2](https://github.com/cube-js/cube.js/compare/v0.24.1...v0.24.2) (2020-11-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **@cubejs-backend/query-orchestrator:** Initial move to TypeScript ([#1462](https://github.com/cube-js/cube.js/issues/1462)) ([101e8dc](https://github.com/cube-js/cube.js/commit/101e8dc90d4b1266c0327adb86cab3e3caa8d4d0))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.24.0](https://github.com/cube-js/cube.js/compare/v0.23.15...v0.24.0) (2020-11-26)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @cubejs-backend/query-orchestrator
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [0.23.14](https://github.com/cube-js/cube.js/compare/v0.23.13...v0.23.14) (2020-11-22)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Bug Fixes
|
|
29
|
+
|
|
30
|
+
* **@cubejs-backend/query-orchestrator:** Intermittent lags when pre-aggregation tables are refreshed ([4efe1fc](https://github.com/cube-js/cube.js/commit/4efe1fc006282d87ab2718918d1bdd174baa6be3))
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [0.23.6](https://github.com/cube-js/cube.js/compare/v0.23.5...v0.23.6) (2020-11-02)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @cubejs-backend/query-orchestrator
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
## [0.23.3](https://github.com/cube-js/cube.js/compare/v0.23.2...v0.23.3) (2020-10-31)
|
|
7
45
|
|
|
8
46
|
|
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[Website](https://cube.dev) • [Docs](https://cube.dev/docs) • [Blog](https://cube.dev/blog) • [Slack](https://slack.cube.dev) • [Twitter](https://twitter.com/thecubejs)
|
|
4
4
|
|
|
5
5
|
[](https://badge.fury.io/js/%40cubejs-backend%2Fserver)
|
|
6
|
-
[](https://github.com/cube-js/cube.js/actions?query=workflow%3ABuild+branch%3Amaster)
|
|
7
7
|
|
|
8
8
|
# Cube.js Query Orchestrator
|
|
9
9
|
|
|
@@ -14,4 +14,4 @@ Receives array of pre-aggregation SQL queries and one query that fetches data to
|
|
|
14
14
|
|
|
15
15
|
### License
|
|
16
16
|
|
|
17
|
-
Cube.js CLI is [Apache 2.0 licensed](./LICENSE).
|
|
17
|
+
Cube.js CLI is [Apache 2.0 licensed](./LICENSE).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export class BaseDriver {
|
|
2
|
+
informationSchemaQuery(): string;
|
|
3
|
+
testConnection(): void;
|
|
4
|
+
query(query: any, values: any): void;
|
|
5
|
+
downloadQueryResults(query: any, values: any): Promise<{
|
|
6
|
+
rows: void;
|
|
7
|
+
types: {
|
|
8
|
+
name: string;
|
|
9
|
+
type: string;
|
|
10
|
+
}[];
|
|
11
|
+
}>;
|
|
12
|
+
readOnly(): boolean;
|
|
13
|
+
tablesSchema(): any;
|
|
14
|
+
createSchemaIfNotExists(schemaName: any): any;
|
|
15
|
+
getTablesQuery(schemaName: any): void;
|
|
16
|
+
loadPreAggregationIntoTable(preAggregationTableName: any, loadSql: any, params: any, options: any): void;
|
|
17
|
+
dropTable(tableName: any, options: any): void;
|
|
18
|
+
param(): string;
|
|
19
|
+
testConnectionTimeout(): number;
|
|
20
|
+
downloadTable(table: any): Promise<{
|
|
21
|
+
rows: void;
|
|
22
|
+
}>;
|
|
23
|
+
uploadTable(table: any, columns: any, tableData: any): Promise<void>;
|
|
24
|
+
toColumnValue(value: any, genericType: any): any;
|
|
25
|
+
tableColumnTypes(table: any): Promise<any>;
|
|
26
|
+
createTable(quotedTableName: any, columns: any): any;
|
|
27
|
+
createTableSql(quotedTableName: any, columns: any): string;
|
|
28
|
+
toGenericType(columnType: any): any;
|
|
29
|
+
fromGenericType(columnType: any): any;
|
|
30
|
+
quoteIdentifier(identifier: any): string;
|
|
31
|
+
cancelCombinator(fn: any): any;
|
|
32
|
+
setLogger(logger: any): void;
|
|
33
|
+
logger: any;
|
|
34
|
+
reportQueryUsage(usage: any, queryOptions: any): void;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=BaseDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseDriver.d.ts","sourceRoot":"","sources":["../../../src/driver/BaseDriver.js"],"names":[],"mappings":"AAyCA;IACE,iCASC;IAED,uBAEC;IAED,qCAEC;IAED;;;;;;OAgBC;IAED,oBAEC;IAED,oBAkBC;IAED,8CAUC;IAED,sCAKC;IAED,yGAEC;IAED,8CAEC;IAED,gBAEC;IAED,gCAEC;IAED;;OAEC;IAED,qEAkBC;IAGD,iDAEC;IAED,2CAYC;IAED,qDAMC;IAED,2DAGC;IAED,oCAEC;IAED,sCAEC;IAED,yCAEC;IAED,+BAEC;IAED,6BAEC;IADC,YAAoB;IAGtB,sDAOC;CACF"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseDriver = void 0;
|
|
4
|
+
const ramda_1 = require("ramda");
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
const sortByKeys = (unordered) => {
|
|
7
|
+
const ordered = {};
|
|
8
|
+
Object.keys(unordered).sort().forEach((key) => {
|
|
9
|
+
ordered[key] = unordered[key];
|
|
10
|
+
});
|
|
11
|
+
return ordered;
|
|
12
|
+
};
|
|
13
|
+
const DbTypeToGenericType = {
|
|
14
|
+
'timestamp without time zone': 'timestamp',
|
|
15
|
+
integer: 'int',
|
|
16
|
+
'character varying': 'text',
|
|
17
|
+
varchar: 'text',
|
|
18
|
+
nvarchar: 'text',
|
|
19
|
+
text: 'text',
|
|
20
|
+
string: 'text',
|
|
21
|
+
boolean: 'boolean',
|
|
22
|
+
bigint: 'bigint',
|
|
23
|
+
time: 'string',
|
|
24
|
+
datetime: 'timestamp',
|
|
25
|
+
date: 'date',
|
|
26
|
+
'double precision': 'decimal'
|
|
27
|
+
};
|
|
28
|
+
// Order of keys is important here: from more specific to less specific
|
|
29
|
+
const DbTypeValueMatcher = {
|
|
30
|
+
timestamp: (v) => v instanceof Date || v.toString().match(/^\d\d\d\d-\d\d-\d\dT\d\d:\d\d:\d\d/),
|
|
31
|
+
date: (v) => v instanceof Date || v.toString().match(/^\d\d\d\d-\d\d-\d\d$/),
|
|
32
|
+
int: (v) => Number.isInteger(v) || v.toString().match(/^\d+$/),
|
|
33
|
+
decimal: (v) => v instanceof Number || v.toString().match(/^\d+(\.\d+)?$/),
|
|
34
|
+
boolean: (v) => v === false || v === true || v.toString().toLowerCase() === 'true' || v.toString().toLowerCase() === 'false',
|
|
35
|
+
string: (v) => v.length < 256,
|
|
36
|
+
text: () => true
|
|
37
|
+
};
|
|
38
|
+
class BaseDriver {
|
|
39
|
+
informationSchemaQuery() {
|
|
40
|
+
return `
|
|
41
|
+
SELECT columns.column_name as ${this.quoteIdentifier('column_name')},
|
|
42
|
+
columns.table_name as ${this.quoteIdentifier('table_name')},
|
|
43
|
+
columns.table_schema as ${this.quoteIdentifier('table_schema')},
|
|
44
|
+
columns.data_type as ${this.quoteIdentifier('data_type')}
|
|
45
|
+
FROM information_schema.columns
|
|
46
|
+
WHERE columns.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
|
|
47
|
+
`;
|
|
48
|
+
}
|
|
49
|
+
testConnection() {
|
|
50
|
+
throw new Error('Not implemented');
|
|
51
|
+
}
|
|
52
|
+
query(query, values) {
|
|
53
|
+
throw new Error('Not implemented');
|
|
54
|
+
}
|
|
55
|
+
async downloadQueryResults(query, values) {
|
|
56
|
+
const rows = await this.query(query, values);
|
|
57
|
+
const fields = Object.keys(rows[0]);
|
|
58
|
+
const types = fields.map(field => ({
|
|
59
|
+
name: field,
|
|
60
|
+
type: Object.keys(DbTypeValueMatcher).find(type => !rows.filter(row => !!row[field]).find(row => !DbTypeValueMatcher[type](row[field])) &&
|
|
61
|
+
rows.find(row => !!row[field])) || 'text'
|
|
62
|
+
}));
|
|
63
|
+
return {
|
|
64
|
+
rows,
|
|
65
|
+
types,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
readOnly() {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
tablesSchema() {
|
|
72
|
+
const query = this.informationSchemaQuery();
|
|
73
|
+
const reduceCb = (result, i) => {
|
|
74
|
+
let schema = (result[i.table_schema] || {});
|
|
75
|
+
const tables = (schema[i.table_name] || []);
|
|
76
|
+
tables.push({ name: i.column_name, type: i.data_type, attributes: i.key_type ? ['primaryKey'] : [] });
|
|
77
|
+
tables.sort();
|
|
78
|
+
schema[i.table_name] = tables;
|
|
79
|
+
schema = sortByKeys(schema);
|
|
80
|
+
result[i.table_schema] = schema;
|
|
81
|
+
return sortByKeys(result);
|
|
82
|
+
};
|
|
83
|
+
return this.query(query).then(data => ramda_1.reduce(reduceCb, {}, data));
|
|
84
|
+
}
|
|
85
|
+
createSchemaIfNotExists(schemaName) {
|
|
86
|
+
return this.query(`SELECT schema_name FROM information_schema.schemata WHERE schema_name = ${this.param(0)}`, [schemaName]).then((schemas) => {
|
|
87
|
+
if (schemas.length === 0) {
|
|
88
|
+
return this.query(`CREATE SCHEMA IF NOT EXISTS ${schemaName}`);
|
|
89
|
+
}
|
|
90
|
+
return null;
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
getTablesQuery(schemaName) {
|
|
94
|
+
return this.query(`SELECT table_name FROM information_schema.tables WHERE table_schema = ${this.param(0)}`, [schemaName]);
|
|
95
|
+
}
|
|
96
|
+
loadPreAggregationIntoTable(preAggregationTableName, loadSql, params, options) {
|
|
97
|
+
return this.query(loadSql, params, options);
|
|
98
|
+
}
|
|
99
|
+
dropTable(tableName, options) {
|
|
100
|
+
return this.query(`DROP TABLE ${tableName}`, [], options);
|
|
101
|
+
}
|
|
102
|
+
param( /* paramIndex */) {
|
|
103
|
+
return '?';
|
|
104
|
+
}
|
|
105
|
+
testConnectionTimeout() {
|
|
106
|
+
return 10000;
|
|
107
|
+
}
|
|
108
|
+
async downloadTable(table) {
|
|
109
|
+
return { rows: await this.query(`SELECT * FROM ${table}`) };
|
|
110
|
+
}
|
|
111
|
+
async uploadTable(table, columns, tableData) {
|
|
112
|
+
if (!tableData.rows) {
|
|
113
|
+
throw new Error(`${this.constructor} driver supports only rows upload`);
|
|
114
|
+
}
|
|
115
|
+
await this.createTable(table, columns);
|
|
116
|
+
try {
|
|
117
|
+
for (let i = 0; i < tableData.rows.length; i++) {
|
|
118
|
+
await this.query(`INSERT INTO ${table}
|
|
119
|
+
(${columns.map(c => this.quoteIdentifier(c.name)).join(', ')})
|
|
120
|
+
VALUES (${columns.map((c, paramIndex) => this.param(paramIndex)).join(', ')})`, columns.map(c => this.toColumnValue(tableData.rows[i][c.name], c.type)));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
await this.dropTable(table);
|
|
125
|
+
throw e;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// eslint-disable-next-line no-unused-vars
|
|
129
|
+
toColumnValue(value, genericType) {
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
async tableColumnTypes(table) {
|
|
133
|
+
const [schema, name] = table.split('.');
|
|
134
|
+
const columns = await this.query(`SELECT columns.column_name,
|
|
135
|
+
columns.table_name,
|
|
136
|
+
columns.table_schema,
|
|
137
|
+
columns.data_type
|
|
138
|
+
FROM information_schema.columns
|
|
139
|
+
WHERE table_name = ${this.param(0)} AND table_schema = ${this.param(1)}`, [name, schema]);
|
|
140
|
+
return columns.map(c => ({ name: c.column_name, type: this.toGenericType(c.data_type) }));
|
|
141
|
+
}
|
|
142
|
+
createTable(quotedTableName, columns) {
|
|
143
|
+
const createTableSql = this.createTableSql(quotedTableName, columns);
|
|
144
|
+
return this.query(createTableSql, []).catch(e => {
|
|
145
|
+
e.message = `Error during create table: ${createTableSql}: ${e.message}`;
|
|
146
|
+
throw e;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
createTableSql(quotedTableName, columns) {
|
|
150
|
+
columns = columns.map(c => `${this.quoteIdentifier(c.name)} ${this.fromGenericType(c.type)}`);
|
|
151
|
+
return `CREATE TABLE ${quotedTableName} (${columns.join(', ')})`;
|
|
152
|
+
}
|
|
153
|
+
toGenericType(columnType) {
|
|
154
|
+
return DbTypeToGenericType[columnType.toLowerCase()] || columnType;
|
|
155
|
+
}
|
|
156
|
+
fromGenericType(columnType) {
|
|
157
|
+
return columnType;
|
|
158
|
+
}
|
|
159
|
+
quoteIdentifier(identifier) {
|
|
160
|
+
return `"${identifier}"`;
|
|
161
|
+
}
|
|
162
|
+
cancelCombinator(fn) {
|
|
163
|
+
return utils_1.cancelCombinator(fn);
|
|
164
|
+
}
|
|
165
|
+
setLogger(logger) {
|
|
166
|
+
this.logger = logger;
|
|
167
|
+
}
|
|
168
|
+
reportQueryUsage(usage, queryOptions) {
|
|
169
|
+
if (this.logger) {
|
|
170
|
+
this.logger('SQL Query Usage', Object.assign(Object.assign({}, usage), queryOptions));
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
exports.BaseDriver = BaseDriver;
|
|
175
|
+
//# sourceMappingURL=BaseDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseDriver.js","sourceRoot":"","sources":["../../../src/driver/BaseDriver.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/driver/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./BaseDriver"), exports);
|
|
14
|
+
__exportStar(require("./utils"), exports);
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/driver/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/driver/utils.js"],"names":[],"mappings":"AAAA,+CAcC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cancelCombinator = void 0;
|
|
4
|
+
function cancelCombinator(fn) {
|
|
5
|
+
const cancelFnArray = [];
|
|
6
|
+
const saveCancelFn = promise => {
|
|
7
|
+
if (promise.cancel) {
|
|
8
|
+
cancelFnArray.push(promise.cancel);
|
|
9
|
+
}
|
|
10
|
+
return promise;
|
|
11
|
+
};
|
|
12
|
+
const promise = fn(saveCancelFn);
|
|
13
|
+
promise.cancel = () => Promise.all(cancelFnArray.map(cancel => cancel()));
|
|
14
|
+
return promise;
|
|
15
|
+
}
|
|
16
|
+
exports.cancelCombinator = cancelCombinator;
|
|
17
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/driver/utils.js"],"names":[],"mappings":";;;AAAA,SAAgB,gBAAgB,CAAC,EAAE;IACjC,MAAM,aAAa,GAAG,EAAE,CAAC;IAEzB,MAAM,YAAY,GAAG,OAAO,CAAC,EAAE;QAC7B,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACpC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC;AACjB,CAAC;AAdD,4CAcC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./driver"), exports);
|
|
14
|
+
__exportStar(require("./orchestrator"), exports);
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,iDAA+B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseQueueDriver.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/BaseQueueDriver.js"],"names":[],"mappings":"AAEA;IACE,iCAIC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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.BaseQueueDriver = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
8
|
+
class BaseQueueDriver {
|
|
9
|
+
redisHash(queryKey) {
|
|
10
|
+
return typeof queryKey === 'string' && queryKey.length < 256 ?
|
|
11
|
+
queryKey :
|
|
12
|
+
crypto_1.default.createHash('md5').update(JSON.stringify(queryKey)).digest('hex');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.BaseQueueDriver = BaseQueueDriver;
|
|
16
|
+
//# sourceMappingURL=BaseQueueDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseQueueDriver.js","sourceRoot":"","sources":["../../../src/orchestrator/BaseQueueDriver.js"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,MAAa,eAAe;IAC1B,SAAS,CAAC,QAAQ;QAChB,OAAO,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;YAC5D,QAAQ,CAAC,CAAC;YACV,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;CACF;AAND,0CAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinueWaitError.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/ContinueWaitError.js"],"names":[],"mappings":"AAAA;CAIC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ContinueWaitError = void 0;
|
|
4
|
+
class ContinueWaitError extends Error {
|
|
5
|
+
constructor() {
|
|
6
|
+
super('Continue wait');
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
exports.ContinueWaitError = ContinueWaitError;
|
|
10
|
+
//# sourceMappingURL=ContinueWaitError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContinueWaitError.js","sourceRoot":"","sources":["../../../src/orchestrator/ContinueWaitError.js"],"names":[],"mappings":";;;AAAA,MAAa,iBAAkB,SAAQ,KAAK;IAC1C;QACE,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;CACF;AAJD,8CAIC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class LocalCacheDriver {
|
|
2
|
+
store: {};
|
|
3
|
+
get(key: any): Promise<any>;
|
|
4
|
+
set(key: any, value: any, expiration: any): Promise<void>;
|
|
5
|
+
remove(key: any): Promise<void>;
|
|
6
|
+
keysStartingWith(prefix: any): Promise<string[]>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=LocalCacheDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalCacheDriver.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/LocalCacheDriver.js"],"names":[],"mappings":"AAEA;IAEI,UAAkB;IAGpB,4BAKC;IAED,0DAKC;IAED,gCAEC;IAED,iDAGC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocalCacheDriver = void 0;
|
|
4
|
+
const store = {};
|
|
5
|
+
class LocalCacheDriver {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.store = store;
|
|
8
|
+
}
|
|
9
|
+
async get(key) {
|
|
10
|
+
if (this.store[key] && this.store[key].exp < new Date().getTime()) {
|
|
11
|
+
delete this.store[key];
|
|
12
|
+
}
|
|
13
|
+
return this.store[key] && this.store[key].value;
|
|
14
|
+
}
|
|
15
|
+
async set(key, value, expiration) {
|
|
16
|
+
this.store[key] = {
|
|
17
|
+
value,
|
|
18
|
+
exp: new Date().getTime() + expiration * 1000
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
async remove(key) {
|
|
22
|
+
delete this.store[key];
|
|
23
|
+
}
|
|
24
|
+
async keysStartingWith(prefix) {
|
|
25
|
+
return Object.keys(this.store)
|
|
26
|
+
.filter(k => k.indexOf(prefix) === 0 && this.store[k].exp > new Date().getTime());
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.LocalCacheDriver = LocalCacheDriver;
|
|
30
|
+
//# sourceMappingURL=LocalCacheDriver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalCacheDriver.js","sourceRoot":"","sources":["../../../src/orchestrator/LocalCacheDriver.js"],"names":[],"mappings":";;;AAAA,MAAM,KAAK,GAAG,EAAE,CAAC;AAEjB,MAAa,gBAAgB;IAC3B;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAG;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YACjE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACxB;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG;YAChB,KAAK;YACL,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,IAAI;SAC9C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAG;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAM;QAC3B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;CACF;AA3BD,4CA2BC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export class LocalQueueDriverConnection {
|
|
2
|
+
constructor(driver: any, options: any);
|
|
3
|
+
redisQueuePrefix: any;
|
|
4
|
+
continueWaitTimeout: any;
|
|
5
|
+
orphanedTimeout: any;
|
|
6
|
+
heartBeatTimeout: any;
|
|
7
|
+
concurrency: any;
|
|
8
|
+
driver: any;
|
|
9
|
+
results: any;
|
|
10
|
+
resultPromises: any;
|
|
11
|
+
queryDef: any;
|
|
12
|
+
toProcess: any;
|
|
13
|
+
recent: any;
|
|
14
|
+
active: any;
|
|
15
|
+
heartBeat: any;
|
|
16
|
+
processingCounter: any;
|
|
17
|
+
processingLocks: any;
|
|
18
|
+
getResultPromise(resultListKey: any): any;
|
|
19
|
+
getResultBlocking(queryKey: any): Promise<any>;
|
|
20
|
+
getResult(queryKey: any): Promise<any>;
|
|
21
|
+
queueArray(queueObj: any, orderFilterLessThan: any): any[];
|
|
22
|
+
addToQueue(keyScore: any, queryKey: any, time: any, queryHandler: any, query: any, priority: any, options: any): number[];
|
|
23
|
+
getToProcessQueries(): any[];
|
|
24
|
+
getActiveQueries(): any[];
|
|
25
|
+
getQueryAndRemove(queryKey: any): Promise<any[]>;
|
|
26
|
+
setResultAndRemoveQuery(queryKey: any, executionResult: any, processingId: any): Promise<boolean>;
|
|
27
|
+
getNextProcessingId(): any;
|
|
28
|
+
getOrphanedQueries(): any[];
|
|
29
|
+
getStalledQueries(): any[];
|
|
30
|
+
getQueryStageState(onlyKeys: any): Promise<any[]>;
|
|
31
|
+
getQueryDef(queryKey: any): Promise<any>;
|
|
32
|
+
updateHeartBeat(queryKey: any): void;
|
|
33
|
+
retrieveForProcessing(queryKey: any, processingId: any): any[];
|
|
34
|
+
freeProcessingLock(queryKey: any, processingId: any, activated: any): void;
|
|
35
|
+
optimisticQueryUpdate(queryKey: any, toUpdate: any, processingId: any): Promise<boolean>;
|
|
36
|
+
release(): void;
|
|
37
|
+
queryRedisKey(queryKey: any, suffix: any): string;
|
|
38
|
+
resultListKey(queryKey: any): string;
|
|
39
|
+
redisHash(queryKey: any): any;
|
|
40
|
+
}
|
|
41
|
+
export class LocalQueueDriver extends BaseQueueDriver {
|
|
42
|
+
constructor(options: any);
|
|
43
|
+
options: any;
|
|
44
|
+
results: any;
|
|
45
|
+
resultPromises: any;
|
|
46
|
+
queryDef: any;
|
|
47
|
+
toProcess: any;
|
|
48
|
+
recent: any;
|
|
49
|
+
active: any;
|
|
50
|
+
heartBeat: any;
|
|
51
|
+
processingCounter: any;
|
|
52
|
+
processingLocks: any;
|
|
53
|
+
createConnection(): LocalQueueDriverConnection;
|
|
54
|
+
release(client: any): void;
|
|
55
|
+
}
|
|
56
|
+
import { BaseQueueDriver } from "./BaseQueueDriver";
|
|
57
|
+
//# sourceMappingURL=LocalQueueDriver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalQueueDriver.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/LocalQueueDriver.js"],"names":[],"mappings":"AAGA;IACE,uCAgBC;IAfC,sBAAgD;IAChD,yBAAsD;IACtD,qBAA8C;IAC9C,sBAAgD;IAChD,iBAAsC;IACtC,YAAoB;IACpB,aAA6B;IAC7B,oBAA2C;IAC3C,cAA+B;IAC/B,eAAiC;IACjC,YAA2B;IAC3B,YAA2B;IAC3B,eAAiC;IACjC,uBAAiD;IACjD,qBAA6C;IAG/C,0CASC;IAED,+CAgBC;IAED,uCAMC;IAED,2DAOC;IAED,0HAyBC;IAED,6BAEC;IAED,0BAEC;IAED,iDAUC;IAED,kGAeC;IAED,2BAGC;IAED,4BAEC;IAED,2BAEC;IAED,kDAEC;IAED,yCAEC;IAED,qCAKC;IAED,+DAkBC;IAED,2EAQC;IAED,yFAOC;IAGD,gBACC;IAED,kDAEC;IAED,qCAEC;IAED,8BAEC;CACF;AAYD;IACE,0BAqBC;IAnBC,aAAsB;IAUtB,aAAgD;IAChD,oBAA8D;IAC9D,cAAkD;IAClD,eAAoD;IACpD,YAA8C;IAC9C,YAA8C;IAC9C,eAAoD;IACpD,uBAAqE;IACrE,qBAAgE;IAGlE,+CAEC;IAED,2BAEC;CACF"}
|