@goatlab/tasks-adapter-bullmq 0.9.4 → 0.10.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/BullMQConnector.d.ts +18 -0
- package/dist/BullMQConnector.js +64 -5
- package/dist/BullMQConnector.js.map +1 -1
- package/dist/processIncomingDispatch.spec.d.ts +14 -0
- package/dist/processIncomingDispatch.spec.js +110 -0
- package/dist/processIncomingDispatch.spec.js.map +1 -0
- package/dist/sharedConnection.spec.d.ts +16 -0
- package/dist/sharedConnection.spec.js +225 -0
- package/dist/sharedConnection.spec.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -56,6 +56,17 @@ export declare class BullMQConnector implements TaskConnector<object> {
|
|
|
56
56
|
private readonly _tenantId?;
|
|
57
57
|
private readonly _prefix;
|
|
58
58
|
private readonly config;
|
|
59
|
+
/**
|
|
60
|
+
* Shared ioredis instance for non-blocking operations (Queue enqueue,
|
|
61
|
+
* temp Worker getNextJob). Lazily created on first use. All Queue
|
|
62
|
+
* instances reuse this single TCP connection instead of each creating
|
|
63
|
+
* their own, keeping connection count O(1) per connector regardless
|
|
64
|
+
* of how many queues are used.
|
|
65
|
+
*
|
|
66
|
+
* Persistent blocking Workers (startWorker/getBullMQWorker) use raw
|
|
67
|
+
* connectionOptions so they get dedicated connections for BRPOPLPUSH.
|
|
68
|
+
*/
|
|
69
|
+
private _sharedClient;
|
|
59
70
|
/**
|
|
60
71
|
* Optional hook called after a job is successfully enqueued.
|
|
61
72
|
* Set via constructor config. Failures are non-fatal.
|
|
@@ -76,6 +87,12 @@ export declare class BullMQConnector implements TaskConnector<object> {
|
|
|
76
87
|
*/
|
|
77
88
|
get prefix(): string;
|
|
78
89
|
constructor(config?: BullMQConnectorConfig);
|
|
90
|
+
/**
|
|
91
|
+
* Returns a shared ioredis connection for non-blocking operations.
|
|
92
|
+
* Creates one lazily on first call. If the connector was constructed
|
|
93
|
+
* with a `redisInstance`, returns that directly (already shared).
|
|
94
|
+
*/
|
|
95
|
+
private getSharedConnection;
|
|
79
96
|
/**
|
|
80
97
|
* Creates a new BullMQConnector instance scoped to a specific tenant.
|
|
81
98
|
* The new connector uses the tenant ID as a Redis key prefix for isolation.
|
|
@@ -134,6 +151,7 @@ export declare class BullMQConnector implements TaskConnector<object> {
|
|
|
134
151
|
}): Promise<Worker[]>;
|
|
135
152
|
/**
|
|
136
153
|
* Stops all workers and closes all queue connections.
|
|
154
|
+
* Also disconnects the shared ioredis client if one was created.
|
|
137
155
|
*/
|
|
138
156
|
close(): Promise<void>;
|
|
139
157
|
/**
|
package/dist/BullMQConnector.js
CHANGED
|
@@ -38,6 +38,17 @@ class BullMQConnector {
|
|
|
38
38
|
_tenantId;
|
|
39
39
|
_prefix;
|
|
40
40
|
config;
|
|
41
|
+
/**
|
|
42
|
+
* Shared ioredis instance for non-blocking operations (Queue enqueue,
|
|
43
|
+
* temp Worker getNextJob). Lazily created on first use. All Queue
|
|
44
|
+
* instances reuse this single TCP connection instead of each creating
|
|
45
|
+
* their own, keeping connection count O(1) per connector regardless
|
|
46
|
+
* of how many queues are used.
|
|
47
|
+
*
|
|
48
|
+
* Persistent blocking Workers (startWorker/getBullMQWorker) use raw
|
|
49
|
+
* connectionOptions so they get dedicated connections for BRPOPLPUSH.
|
|
50
|
+
*/
|
|
51
|
+
_sharedClient = null;
|
|
41
52
|
/**
|
|
42
53
|
* Optional hook called after a job is successfully enqueued.
|
|
43
54
|
* Set via constructor config. Failures are non-fatal.
|
|
@@ -103,6 +114,35 @@ class BullMQConnector {
|
|
|
103
114
|
};
|
|
104
115
|
this.onAfterQueue = config?.onAfterQueue;
|
|
105
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns a shared ioredis connection for non-blocking operations.
|
|
119
|
+
* Creates one lazily on first call. If the connector was constructed
|
|
120
|
+
* with a `redisInstance`, returns that directly (already shared).
|
|
121
|
+
*/
|
|
122
|
+
getSharedConnection() {
|
|
123
|
+
// Already have a pre-built instance (passed via config or previous call)
|
|
124
|
+
if (this.config.redisInstance) {
|
|
125
|
+
return this.config.redisInstance;
|
|
126
|
+
}
|
|
127
|
+
// Lazily create a single shared ioredis instance
|
|
128
|
+
if (!this._sharedClient) {
|
|
129
|
+
// Dynamic import would be cleaner but ioredis is already a dependency
|
|
130
|
+
// of bullmq, so it's always available.
|
|
131
|
+
const IORedis = require('ioredis').default || require('ioredis');
|
|
132
|
+
this._sharedClient = new IORedis({
|
|
133
|
+
host: DEFAULT_HOST,
|
|
134
|
+
port: DEFAULT_PORT,
|
|
135
|
+
maxRetriesPerRequest: null,
|
|
136
|
+
family: 4,
|
|
137
|
+
...this.config.connection,
|
|
138
|
+
// Prevent ioredis from exiting the process on connection errors
|
|
139
|
+
lazyConnect: false,
|
|
140
|
+
});
|
|
141
|
+
// Suppress unhandled error events (BullMQ attaches its own handlers)
|
|
142
|
+
this._sharedClient.on('error', () => { });
|
|
143
|
+
}
|
|
144
|
+
return this._sharedClient;
|
|
145
|
+
}
|
|
106
146
|
/**
|
|
107
147
|
* Creates a new BullMQConnector instance scoped to a specific tenant.
|
|
108
148
|
* The new connector uses the tenant ID as a Redis key prefix for isolation.
|
|
@@ -127,11 +167,20 @@ class BullMQConnector {
|
|
|
127
167
|
* ```
|
|
128
168
|
*/
|
|
129
169
|
forTenant(tenantId, credentials) {
|
|
170
|
+
// When no per-tenant credentials are provided, share the parent's
|
|
171
|
+
// ioredis connection so all tenants reuse one TCP connection.
|
|
172
|
+
// Tenant isolation is via key prefix, not separate connections.
|
|
173
|
+
const sharedInstance = !credentials?.username && !credentials?.password
|
|
174
|
+
? this.getSharedConnection()
|
|
175
|
+
: undefined;
|
|
176
|
+
// Spread parent config but remove explicit prefix — the child connector
|
|
177
|
+
// should derive its prefix from the new tenantId, not inherit the parent's.
|
|
178
|
+
const { prefix: _parentPrefix, ...parentConfig } = this.config;
|
|
130
179
|
return new BullMQConnector({
|
|
131
|
-
...
|
|
180
|
+
...parentConfig,
|
|
132
181
|
tenantId,
|
|
133
|
-
// Propagate
|
|
134
|
-
redisInstance: this.config.redisInstance,
|
|
182
|
+
// Propagate shared Redis instance when credentials match
|
|
183
|
+
redisInstance: sharedInstance ?? this.config.redisInstance,
|
|
135
184
|
connection: {
|
|
136
185
|
...this.config.connection,
|
|
137
186
|
// Override credentials if provided for stronger isolation
|
|
@@ -158,7 +207,7 @@ class BullMQConnector {
|
|
|
158
207
|
return existing;
|
|
159
208
|
}
|
|
160
209
|
const queue = new bullmq_1.Queue(queueName, {
|
|
161
|
-
connection: this.
|
|
210
|
+
connection: this.getSharedConnection(),
|
|
162
211
|
defaultJobOptions: this.defaultJobOptions,
|
|
163
212
|
prefix: this._prefix,
|
|
164
213
|
});
|
|
@@ -210,6 +259,7 @@ class BullMQConnector {
|
|
|
210
259
|
}
|
|
211
260
|
/**
|
|
212
261
|
* Stops all workers and closes all queue connections.
|
|
262
|
+
* Also disconnects the shared ioredis client if one was created.
|
|
213
263
|
*/
|
|
214
264
|
async close() {
|
|
215
265
|
const closePromises = [];
|
|
@@ -222,6 +272,11 @@ class BullMQConnector {
|
|
|
222
272
|
await Promise.all(closePromises);
|
|
223
273
|
this.workers.clear();
|
|
224
274
|
this.queues.clear();
|
|
275
|
+
// Disconnect the shared client (only if we created it, not if user provided redisInstance)
|
|
276
|
+
if (this._sharedClient && !this.config.redisInstance) {
|
|
277
|
+
this._sharedClient.disconnect();
|
|
278
|
+
this._sharedClient = null;
|
|
279
|
+
}
|
|
225
280
|
}
|
|
226
281
|
/**
|
|
227
282
|
* Gets the status of a job by its ID.
|
|
@@ -462,11 +517,15 @@ class BullMQConnector {
|
|
|
462
517
|
break;
|
|
463
518
|
}
|
|
464
519
|
const tempWorker = new bullmq_1.Worker(queueName, undefined, {
|
|
465
|
-
connection: this.
|
|
520
|
+
connection: this.getSharedConnection(),
|
|
466
521
|
prefix: this._prefix,
|
|
467
522
|
autorun: false,
|
|
468
523
|
});
|
|
469
524
|
try {
|
|
525
|
+
// Wait for the Worker's ioredis connection to be ready before
|
|
526
|
+
// calling getNextJob — otherwise it hangs or silently returns null
|
|
527
|
+
// when there's connection latency, auth delay, or TLS negotiation.
|
|
528
|
+
await tempWorker.waitUntilReady();
|
|
470
529
|
while (Date.now() < deadline) {
|
|
471
530
|
const job = await tempWorker.getNextJob('dispatch');
|
|
472
531
|
if (!job) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BullMQConnector.js","sourceRoot":"","sources":["../src/BullMQConnector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BullMQConnector.js","sourceRoot":"","sources":["../src/BullMQConnector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for processIncomingDispatch race condition fix.
|
|
3
|
+
*
|
|
4
|
+
* Uses a real Redis testcontainer (started by setup.ts globalSetup).
|
|
5
|
+
*
|
|
6
|
+
* The bug: processIncomingDispatch creates a temp Worker and immediately calls
|
|
7
|
+
* getNextJob() before the Worker's ioredis connection is ready. This causes
|
|
8
|
+
* getNextJob to hang indefinitely or silently return null.
|
|
9
|
+
*
|
|
10
|
+
* The fix: call `await tempWorker.waitUntilReady()` before `getNextJob()`.
|
|
11
|
+
*
|
|
12
|
+
* Run: npx vitest run ./src/processIncomingDispatch.spec.ts
|
|
13
|
+
*/
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tests for processIncomingDispatch race condition fix.
|
|
4
|
+
*
|
|
5
|
+
* Uses a real Redis testcontainer (started by setup.ts globalSetup).
|
|
6
|
+
*
|
|
7
|
+
* The bug: processIncomingDispatch creates a temp Worker and immediately calls
|
|
8
|
+
* getNextJob() before the Worker's ioredis connection is ready. This causes
|
|
9
|
+
* getNextJob to hang indefinitely or silently return null.
|
|
10
|
+
*
|
|
11
|
+
* The fix: call `await tempWorker.waitUntilReady()` before `getNextJob()`.
|
|
12
|
+
*
|
|
13
|
+
* Run: npx vitest run ./src/processIncomingDispatch.spec.ts
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
const vitest_1 = require("vitest");
|
|
17
|
+
const BullMQConnector_js_1 = require("./BullMQConnector.js");
|
|
18
|
+
const const_js_1 = require("./test/const.js");
|
|
19
|
+
const globalData = (0, const_js_1.getGlobalData)();
|
|
20
|
+
const REDIS_HOST = globalData.host || 'localhost';
|
|
21
|
+
const REDIS_PORT = globalData.port || 6379;
|
|
22
|
+
const TEST_PREFIX = `test:dispatch:${Date.now()}`;
|
|
23
|
+
(0, vitest_1.describe)('processIncomingDispatch', () => {
|
|
24
|
+
let connector;
|
|
25
|
+
(0, vitest_1.beforeAll)(() => {
|
|
26
|
+
connector = new BullMQConnector_js_1.BullMQConnector({
|
|
27
|
+
connection: {
|
|
28
|
+
host: REDIS_HOST,
|
|
29
|
+
port: REDIS_PORT,
|
|
30
|
+
maxRetriesPerRequest: null,
|
|
31
|
+
},
|
|
32
|
+
prefix: TEST_PREFIX,
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
(0, vitest_1.afterAll)(async () => {
|
|
36
|
+
await connector.close();
|
|
37
|
+
});
|
|
38
|
+
(0, vitest_1.it)('should pick up a job that was enqueued before dispatch is called', async () => {
|
|
39
|
+
const queueName = 'dispatch_race_test';
|
|
40
|
+
const jobData = { value: 'hello-from-race-test' };
|
|
41
|
+
await connector.addJob(queueName, 'test-job', jobData);
|
|
42
|
+
const counts = await connector.getJobCounts(queueName);
|
|
43
|
+
(0, vitest_1.expect)(counts.waiting).toBe(1);
|
|
44
|
+
let processedData = null;
|
|
45
|
+
const result = await connector.processIncomingDispatch({
|
|
46
|
+
handleTask: async (_name, data) => {
|
|
47
|
+
processedData = data;
|
|
48
|
+
return { ok: true };
|
|
49
|
+
},
|
|
50
|
+
timeBudgetMs: 10000,
|
|
51
|
+
validQueueNames: new Set([queueName]),
|
|
52
|
+
hint: { queueName },
|
|
53
|
+
});
|
|
54
|
+
(0, vitest_1.expect)(result.processed).toBe(1);
|
|
55
|
+
(0, vitest_1.expect)(result.failed).toBe(0);
|
|
56
|
+
(0, vitest_1.expect)(processedData).toEqual(jobData);
|
|
57
|
+
const countsAfter = await connector.getJobCounts(queueName);
|
|
58
|
+
(0, vitest_1.expect)(countsAfter.waiting).toBe(0);
|
|
59
|
+
});
|
|
60
|
+
(0, vitest_1.it)('should process multiple jobs across queues in one dispatch call', async () => {
|
|
61
|
+
const queue1 = 'dispatch_multi_q1';
|
|
62
|
+
const queue2 = 'dispatch_multi_q2';
|
|
63
|
+
await connector.addJob(queue1, 'job-a', { q: 1 });
|
|
64
|
+
await connector.addJob(queue2, 'job-b', { q: 2 });
|
|
65
|
+
const processed = [];
|
|
66
|
+
const result = await connector.processIncomingDispatch({
|
|
67
|
+
handleTask: async (name, _data) => {
|
|
68
|
+
processed.push(name);
|
|
69
|
+
return { ok: true };
|
|
70
|
+
},
|
|
71
|
+
timeBudgetMs: 10000,
|
|
72
|
+
validQueueNames: new Set([queue1, queue2]),
|
|
73
|
+
});
|
|
74
|
+
(0, vitest_1.expect)(result.processed).toBe(2);
|
|
75
|
+
(0, vitest_1.expect)(processed).toContain(queue1);
|
|
76
|
+
(0, vitest_1.expect)(processed).toContain(queue2);
|
|
77
|
+
});
|
|
78
|
+
(0, vitest_1.it)('should return 0 processed when no jobs exist', async () => {
|
|
79
|
+
const result = await connector.processIncomingDispatch({
|
|
80
|
+
handleTask: async () => ({ ok: true }),
|
|
81
|
+
timeBudgetMs: 5000,
|
|
82
|
+
validQueueNames: new Set(['empty_queue_test']),
|
|
83
|
+
});
|
|
84
|
+
(0, vitest_1.expect)(result.processed).toBe(0);
|
|
85
|
+
(0, vitest_1.expect)(result.failed).toBe(0);
|
|
86
|
+
});
|
|
87
|
+
(0, vitest_1.it)('should fail fast with bad credentials instead of hanging', async () => {
|
|
88
|
+
const badConnector = new BullMQConnector_js_1.BullMQConnector({
|
|
89
|
+
connection: {
|
|
90
|
+
host: REDIS_HOST,
|
|
91
|
+
port: REDIS_PORT,
|
|
92
|
+
password: 'wrong-password-intentionally',
|
|
93
|
+
maxRetriesPerRequest: 1,
|
|
94
|
+
retryStrategy: () => null,
|
|
95
|
+
},
|
|
96
|
+
prefix: TEST_PREFIX,
|
|
97
|
+
});
|
|
98
|
+
try {
|
|
99
|
+
await (0, vitest_1.expect)(badConnector.processIncomingDispatch({
|
|
100
|
+
handleTask: async () => ({ ok: true }),
|
|
101
|
+
timeBudgetMs: 5000,
|
|
102
|
+
validQueueNames: new Set(['should_not_reach']),
|
|
103
|
+
})).rejects.toThrow();
|
|
104
|
+
}
|
|
105
|
+
finally {
|
|
106
|
+
await badConnector.close().catch(() => { });
|
|
107
|
+
}
|
|
108
|
+
}, 15000);
|
|
109
|
+
});
|
|
110
|
+
//# sourceMappingURL=processIncomingDispatch.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"processIncomingDispatch.spec.js","sourceRoot":"","sources":["../src/processIncomingDispatch.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Multi-tenant shared connection tests.
|
|
3
|
+
*
|
|
4
|
+
* Uses a real Redis testcontainer (started by setup.ts globalSetup).
|
|
5
|
+
*
|
|
6
|
+
* Simulates a realistic multi-tenant platform where:
|
|
7
|
+
* - Multiple tenants share a single Redis instance
|
|
8
|
+
* - Each tenant has multiple task queues (email, posts, notifications, etc.)
|
|
9
|
+
* - Jobs are enqueued via tenant-scoped connectors
|
|
10
|
+
* - Jobs are processed via processIncomingDispatch (on-demand, no persistent workers)
|
|
11
|
+
*
|
|
12
|
+
* Verifies O(1) Redis connections regardless of tenant/queue count.
|
|
13
|
+
*
|
|
14
|
+
* Run: npx vitest run ./src/sharedConnection.spec.ts
|
|
15
|
+
*/
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Multi-tenant shared connection tests.
|
|
4
|
+
*
|
|
5
|
+
* Uses a real Redis testcontainer (started by setup.ts globalSetup).
|
|
6
|
+
*
|
|
7
|
+
* Simulates a realistic multi-tenant platform where:
|
|
8
|
+
* - Multiple tenants share a single Redis instance
|
|
9
|
+
* - Each tenant has multiple task queues (email, posts, notifications, etc.)
|
|
10
|
+
* - Jobs are enqueued via tenant-scoped connectors
|
|
11
|
+
* - Jobs are processed via processIncomingDispatch (on-demand, no persistent workers)
|
|
12
|
+
*
|
|
13
|
+
* Verifies O(1) Redis connections regardless of tenant/queue count.
|
|
14
|
+
*
|
|
15
|
+
* Run: npx vitest run ./src/sharedConnection.spec.ts
|
|
16
|
+
*/
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const tslib_1 = require("tslib");
|
|
19
|
+
const ioredis_1 = tslib_1.__importDefault(require("ioredis"));
|
|
20
|
+
const vitest_1 = require("vitest");
|
|
21
|
+
const BullMQConnector_js_1 = require("./BullMQConnector.js");
|
|
22
|
+
const const_js_1 = require("./test/const.js");
|
|
23
|
+
const globalData = (0, const_js_1.getGlobalData)();
|
|
24
|
+
const REDIS_HOST = globalData.host || 'localhost';
|
|
25
|
+
const REDIS_PORT = globalData.port || 6379;
|
|
26
|
+
const TEST_RUN = `test:mt:${Date.now()}`;
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
// Realistic task queues (simulates what a SaaS platform would register)
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
const TASK_QUEUES = [
|
|
31
|
+
'process_post',
|
|
32
|
+
'send_email',
|
|
33
|
+
'notify_dispatch',
|
|
34
|
+
'index_search',
|
|
35
|
+
'generate_thumbnail',
|
|
36
|
+
'process_payment',
|
|
37
|
+
'sync_analytics',
|
|
38
|
+
'broadcast_config',
|
|
39
|
+
];
|
|
40
|
+
const TENANT_IDS = [
|
|
41
|
+
'acme-corp',
|
|
42
|
+
'globex',
|
|
43
|
+
'initech',
|
|
44
|
+
'umbrella',
|
|
45
|
+
'stark-ind',
|
|
46
|
+
'wayne-ent',
|
|
47
|
+
'oscorp',
|
|
48
|
+
'lexcorp',
|
|
49
|
+
'daily-planet',
|
|
50
|
+
'capsule-corp',
|
|
51
|
+
];
|
|
52
|
+
/** Count connected Redis clients via CLIENT LIST */
|
|
53
|
+
async function countClients(redis) {
|
|
54
|
+
const list = await redis.client('LIST');
|
|
55
|
+
return list.split('\n').filter(l => l.trim()).length;
|
|
56
|
+
}
|
|
57
|
+
(0, vitest_1.describe)('Multi-Tenant Shared Connection', () => {
|
|
58
|
+
let monitor;
|
|
59
|
+
(0, vitest_1.beforeAll)(async () => {
|
|
60
|
+
monitor = new ioredis_1.default({
|
|
61
|
+
host: REDIS_HOST,
|
|
62
|
+
port: REDIS_PORT,
|
|
63
|
+
maxRetriesPerRequest: null,
|
|
64
|
+
});
|
|
65
|
+
await monitor.ping();
|
|
66
|
+
});
|
|
67
|
+
(0, vitest_1.afterAll)(async () => {
|
|
68
|
+
monitor.disconnect();
|
|
69
|
+
});
|
|
70
|
+
(0, vitest_1.it)('10 tenants x 8 queues = 80 Queue instances should use O(1) connections', async () => {
|
|
71
|
+
const clientsBefore = await countClients(monitor);
|
|
72
|
+
const platform = new BullMQConnector_js_1.BullMQConnector({
|
|
73
|
+
connection: {
|
|
74
|
+
host: REDIS_HOST,
|
|
75
|
+
port: REDIS_PORT,
|
|
76
|
+
maxRetriesPerRequest: null,
|
|
77
|
+
},
|
|
78
|
+
prefix: `${TEST_RUN}:platform`,
|
|
79
|
+
});
|
|
80
|
+
const tenantConnectors = [];
|
|
81
|
+
for (const tenantId of TENANT_IDS) {
|
|
82
|
+
const tc = platform.forTenant(tenantId);
|
|
83
|
+
tenantConnectors.push(tc);
|
|
84
|
+
for (const queue of TASK_QUEUES) {
|
|
85
|
+
await tc.addJob(queue, `${queue}-job`, {
|
|
86
|
+
tenantId,
|
|
87
|
+
queue,
|
|
88
|
+
payload: `data for ${tenantId}/${queue}`,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
await new Promise(r => setTimeout(r, 500));
|
|
93
|
+
const clientsAfter = await countClients(monitor);
|
|
94
|
+
const newConns = clientsAfter - clientsBefore;
|
|
95
|
+
console.log(`[O(1) Test] ${TENANT_IDS.length} tenants x ${TASK_QUEUES.length} queues ` +
|
|
96
|
+
`= ${TENANT_IDS.length * TASK_QUEUES.length} Queue instances → ` +
|
|
97
|
+
`${newConns} new Redis connections`);
|
|
98
|
+
// O(1): should be 1-3, NOT 80
|
|
99
|
+
(0, vitest_1.expect)(newConns).toBeLessThanOrEqual(5);
|
|
100
|
+
// Verify jobs were enqueued with correct per-tenant isolation
|
|
101
|
+
for (const tc of tenantConnectors) {
|
|
102
|
+
for (const queue of TASK_QUEUES) {
|
|
103
|
+
const counts = await tc.getJobCounts(queue);
|
|
104
|
+
(0, vitest_1.expect)(counts.waiting).toBe(1);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
for (const tc of tenantConnectors) {
|
|
108
|
+
await tc.close();
|
|
109
|
+
}
|
|
110
|
+
await platform.close();
|
|
111
|
+
}, 30000);
|
|
112
|
+
(0, vitest_1.it)('processIncomingDispatch respects tenant isolation', async () => {
|
|
113
|
+
const platform = new BullMQConnector_js_1.BullMQConnector({
|
|
114
|
+
connection: {
|
|
115
|
+
host: REDIS_HOST,
|
|
116
|
+
port: REDIS_PORT,
|
|
117
|
+
maxRetriesPerRequest: null,
|
|
118
|
+
},
|
|
119
|
+
prefix: `${TEST_RUN}:isolation`,
|
|
120
|
+
});
|
|
121
|
+
const tenants = ['tenant-a', 'tenant-b', 'tenant-c'];
|
|
122
|
+
const connectors = tenants.map(t => platform.forTenant(t));
|
|
123
|
+
// Each tenant enqueues 1 job to process_post
|
|
124
|
+
for (let i = 0; i < tenants.length; i++) {
|
|
125
|
+
await connectors[i].addJob('process_post', 'post-job', {
|
|
126
|
+
content: `Post from ${tenants[i]}`,
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
// Process ONLY tenant-b
|
|
130
|
+
const processed = [];
|
|
131
|
+
const result = await connectors[1].processIncomingDispatch({
|
|
132
|
+
handleTask: async (_queue, data) => {
|
|
133
|
+
processed.push(data);
|
|
134
|
+
return { ok: true };
|
|
135
|
+
},
|
|
136
|
+
timeBudgetMs: 5000,
|
|
137
|
+
validQueueNames: new Set(['process_post']),
|
|
138
|
+
});
|
|
139
|
+
(0, vitest_1.expect)(result.processed).toBe(1);
|
|
140
|
+
(0, vitest_1.expect)(processed).toHaveLength(1);
|
|
141
|
+
(0, vitest_1.expect)(processed[0].content).toBe('Post from tenant-b');
|
|
142
|
+
// Other tenants' jobs untouched
|
|
143
|
+
(0, vitest_1.expect)((await connectors[0].getJobCounts('process_post')).waiting).toBe(1);
|
|
144
|
+
(0, vitest_1.expect)((await connectors[2].getJobCounts('process_post')).waiting).toBe(1);
|
|
145
|
+
for (const c of connectors) {
|
|
146
|
+
await c.close();
|
|
147
|
+
}
|
|
148
|
+
await platform.close();
|
|
149
|
+
}, 15000);
|
|
150
|
+
(0, vitest_1.it)('full dispatch cycle: 5 tenants x 3 queues, enqueue + process', async () => {
|
|
151
|
+
const clientsBefore = await countClients(monitor);
|
|
152
|
+
const platform = new BullMQConnector_js_1.BullMQConnector({
|
|
153
|
+
connection: {
|
|
154
|
+
host: REDIS_HOST,
|
|
155
|
+
port: REDIS_PORT,
|
|
156
|
+
maxRetriesPerRequest: null,
|
|
157
|
+
},
|
|
158
|
+
prefix: `${TEST_RUN}:fullcycle`,
|
|
159
|
+
});
|
|
160
|
+
const tenants = ['shop-1', 'shop-2', 'shop-3', 'shop-4', 'shop-5'];
|
|
161
|
+
const queues = ['send_email', 'process_payment', 'sync_analytics'];
|
|
162
|
+
const connectors = tenants.map(t => platform.forTenant(t));
|
|
163
|
+
// Enqueue 3 jobs per tenant
|
|
164
|
+
for (let i = 0; i < tenants.length; i++) {
|
|
165
|
+
for (const q of queues) {
|
|
166
|
+
await connectors[i].addJob(q, `${q}-job`, {
|
|
167
|
+
tenant: tenants[i],
|
|
168
|
+
type: q,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
// Process each tenant independently (simulating dispatch endpoint)
|
|
173
|
+
const allResults = [];
|
|
174
|
+
for (let i = 0; i < tenants.length; i++) {
|
|
175
|
+
const r = await connectors[i].processIncomingDispatch({
|
|
176
|
+
handleTask: async () => ({ done: true }),
|
|
177
|
+
timeBudgetMs: 5000,
|
|
178
|
+
validQueueNames: new Set(queues),
|
|
179
|
+
});
|
|
180
|
+
allResults.push({ tenant: tenants[i], processed: r.processed });
|
|
181
|
+
}
|
|
182
|
+
// Each tenant processed exactly 3 jobs
|
|
183
|
+
for (const r of allResults) {
|
|
184
|
+
(0, vitest_1.expect)(r.processed).toBe(3);
|
|
185
|
+
}
|
|
186
|
+
// Connections still O(1)
|
|
187
|
+
await new Promise(r => setTimeout(r, 300));
|
|
188
|
+
const clientsAfter = await countClients(monitor);
|
|
189
|
+
const newConns = clientsAfter - clientsBefore;
|
|
190
|
+
console.log(`[Full Cycle] 5 tenants x 3 queues, enqueue + dispatch → ` +
|
|
191
|
+
`${newConns} Redis connections`);
|
|
192
|
+
(0, vitest_1.expect)(newConns).toBeLessThanOrEqual(5);
|
|
193
|
+
for (const c of connectors) {
|
|
194
|
+
await c.close();
|
|
195
|
+
}
|
|
196
|
+
await platform.close();
|
|
197
|
+
}, 30000);
|
|
198
|
+
(0, vitest_1.it)('empty dispatch across 8 queues uses shared connection', async () => {
|
|
199
|
+
const clientsBefore = await countClients(monitor);
|
|
200
|
+
const platform = new BullMQConnector_js_1.BullMQConnector({
|
|
201
|
+
connection: {
|
|
202
|
+
host: REDIS_HOST,
|
|
203
|
+
port: REDIS_PORT,
|
|
204
|
+
maxRetriesPerRequest: null,
|
|
205
|
+
},
|
|
206
|
+
prefix: `${TEST_RUN}:empty`,
|
|
207
|
+
});
|
|
208
|
+
const tc = platform.forTenant('ghost-tenant');
|
|
209
|
+
const result = await tc.processIncomingDispatch({
|
|
210
|
+
handleTask: async () => ({ ok: true }),
|
|
211
|
+
timeBudgetMs: 3000,
|
|
212
|
+
validQueueNames: new Set(TASK_QUEUES),
|
|
213
|
+
});
|
|
214
|
+
(0, vitest_1.expect)(result.processed).toBe(0);
|
|
215
|
+
(0, vitest_1.expect)(result.failed).toBe(0);
|
|
216
|
+
await new Promise(r => setTimeout(r, 200));
|
|
217
|
+
const clientsAfter = await countClients(monitor);
|
|
218
|
+
const newConns = clientsAfter - clientsBefore;
|
|
219
|
+
console.log(`[Empty Dispatch] 8 queues scanned → ${newConns} connections`);
|
|
220
|
+
(0, vitest_1.expect)(newConns).toBeLessThanOrEqual(3);
|
|
221
|
+
await tc.close();
|
|
222
|
+
await platform.close();
|
|
223
|
+
}, 15000);
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=sharedConnection.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sharedConnection.spec.js","sourceRoot":"","sources":["../src/sharedConnection.spec.ts"],"names":[],"mappings":"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"}
|