bunqueue 1.6.8 → 1.8.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/application/queueManager.d.ts +4 -0
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +24 -2
- package/dist/application/queueManager.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/queue.d.ts +25 -5
- package/dist/client/queue.d.ts.map +1 -1
- package/dist/client/queue.js +285 -41
- package/dist/client/queue.js.map +1 -1
- package/dist/client/tcpClient.d.ts +72 -0
- package/dist/client/tcpClient.d.ts.map +1 -0
- package/dist/client/tcpClient.js +371 -0
- package/dist/client/tcpClient.js.map +1 -0
- package/dist/client/tcpPool.d.ts +41 -0
- package/dist/client/tcpPool.d.ts.map +1 -0
- package/dist/client/tcpPool.js +110 -0
- package/dist/client/tcpPool.js.map +1 -0
- package/dist/client/types.d.ts +24 -1
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js.map +1 -1
- package/dist/client/worker.d.ts +37 -5
- package/dist/client/worker.d.ts.map +1 -1
- package/dist/client/worker.js +320 -45
- package/dist/client/worker.js.map +1 -1
- package/dist/domain/types/command.d.ts +16 -1
- package/dist/domain/types/command.d.ts.map +1 -1
- package/dist/infrastructure/backup/s3Backup.d.ts.map +1 -1
- package/dist/infrastructure/backup/s3Backup.js +2 -1
- package/dist/infrastructure/backup/s3Backup.js.map +1 -1
- package/dist/infrastructure/server/handler.d.ts.map +1 -1
- package/dist/infrastructure/server/handler.js +7 -1
- package/dist/infrastructure/server/handler.js.map +1 -1
- package/dist/infrastructure/server/handlers/core.d.ts +1 -1
- package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/core.js +12 -3
- package/dist/infrastructure/server/handlers/core.js.map +1 -1
- package/dist/infrastructure/server/handlers/monitoring.d.ts +4 -1
- package/dist/infrastructure/server/handlers/monitoring.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/monitoring.js +18 -0
- package/dist/infrastructure/server/handlers/monitoring.js.map +1 -1
- package/dist/infrastructure/server/http.d.ts.map +1 -1
- package/dist/infrastructure/server/http.js +2 -1
- package/dist/infrastructure/server/http.js.map +1 -1
- package/dist/infrastructure/server/rateLimiter.js +1 -1
- package/dist/infrastructure/server/rateLimiter.js.map +1 -1
- package/dist/mcp/index.js +2 -1
- package/dist/mcp/index.js.map +1 -1
- package/dist/shared/version.d.ts +1 -1
- package/dist/shared/version.d.ts.map +1 -1
- package/dist/shared/version.js +3 -27
- package/dist/shared/version.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCP Client for SDK - Production Ready
|
|
3
|
+
* Connects to bunqueue server via TCP with auto-reconnection
|
|
4
|
+
*/
|
|
5
|
+
import { EventEmitter } from 'events';
|
|
6
|
+
/** Default connection */
|
|
7
|
+
export const DEFAULT_CONNECTION = {
|
|
8
|
+
host: 'localhost',
|
|
9
|
+
port: 6789,
|
|
10
|
+
token: '',
|
|
11
|
+
maxReconnectAttempts: Infinity,
|
|
12
|
+
reconnectDelay: 100,
|
|
13
|
+
maxReconnectDelay: 30000,
|
|
14
|
+
connectTimeout: 5000,
|
|
15
|
+
commandTimeout: 30000,
|
|
16
|
+
autoReconnect: true,
|
|
17
|
+
pingInterval: 30000, // 30s health check
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* TCP Client - manages connection to bunqueue server
|
|
21
|
+
* Production-ready with auto-reconnection and exponential backoff
|
|
22
|
+
*/
|
|
23
|
+
export class TcpClient extends EventEmitter {
|
|
24
|
+
socket = null;
|
|
25
|
+
connected = false;
|
|
26
|
+
connecting = false;
|
|
27
|
+
closed = false;
|
|
28
|
+
reconnectAttempts = 0;
|
|
29
|
+
reconnectTimer = null;
|
|
30
|
+
pingTimer = null;
|
|
31
|
+
options;
|
|
32
|
+
pendingCommands = [];
|
|
33
|
+
currentCommand = null;
|
|
34
|
+
constructor(options = {}) {
|
|
35
|
+
super();
|
|
36
|
+
this.options = { ...DEFAULT_CONNECTION, ...options };
|
|
37
|
+
}
|
|
38
|
+
/** Connect to server */
|
|
39
|
+
async connect() {
|
|
40
|
+
if (this.connected)
|
|
41
|
+
return;
|
|
42
|
+
if (this.connecting) {
|
|
43
|
+
// Wait for current connection attempt
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
const onConnect = () => {
|
|
46
|
+
this.off('error', onError);
|
|
47
|
+
resolve();
|
|
48
|
+
};
|
|
49
|
+
const onError = (err) => {
|
|
50
|
+
this.off('connected', onConnect);
|
|
51
|
+
reject(err);
|
|
52
|
+
};
|
|
53
|
+
this.once('connected', onConnect);
|
|
54
|
+
this.once('error', onError);
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
this.connecting = true;
|
|
58
|
+
this.closed = false;
|
|
59
|
+
try {
|
|
60
|
+
await this.doConnect();
|
|
61
|
+
this.reconnectAttempts = 0;
|
|
62
|
+
this.emit('connected');
|
|
63
|
+
// Start health check ping
|
|
64
|
+
this.startPing();
|
|
65
|
+
// Process any pending commands
|
|
66
|
+
this.processNextCommand();
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
this.connecting = false;
|
|
70
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- user can set to false
|
|
71
|
+
if (this.options.autoReconnect && !this.closed) {
|
|
72
|
+
this.scheduleReconnect();
|
|
73
|
+
}
|
|
74
|
+
throw err;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
async doConnect() {
|
|
78
|
+
return new Promise((resolve, reject) => {
|
|
79
|
+
const socketData = {
|
|
80
|
+
write: () => { },
|
|
81
|
+
end: () => { },
|
|
82
|
+
buffer: '',
|
|
83
|
+
};
|
|
84
|
+
let connectionResolved = false;
|
|
85
|
+
let timeoutId = null;
|
|
86
|
+
const cleanup = () => {
|
|
87
|
+
if (timeoutId) {
|
|
88
|
+
clearTimeout(timeoutId);
|
|
89
|
+
timeoutId = null;
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
void Bun.connect({
|
|
93
|
+
hostname: this.options.host,
|
|
94
|
+
port: this.options.port,
|
|
95
|
+
socket: {
|
|
96
|
+
data: (_sock, data) => {
|
|
97
|
+
socketData.buffer += data.toString();
|
|
98
|
+
let newlineIdx;
|
|
99
|
+
while ((newlineIdx = socketData.buffer.indexOf('\n')) !== -1) {
|
|
100
|
+
const line = socketData.buffer.slice(0, newlineIdx);
|
|
101
|
+
socketData.buffer = socketData.buffer.slice(newlineIdx + 1);
|
|
102
|
+
if (line.trim() && this.currentCommand) {
|
|
103
|
+
try {
|
|
104
|
+
const response = JSON.parse(line);
|
|
105
|
+
clearTimeout(this.currentCommand.timeout);
|
|
106
|
+
this.currentCommand.resolve(response);
|
|
107
|
+
this.currentCommand = null;
|
|
108
|
+
this.processNextCommand();
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
if (this.currentCommand) {
|
|
112
|
+
clearTimeout(this.currentCommand.timeout);
|
|
113
|
+
this.currentCommand.reject(new Error('Invalid response from server'));
|
|
114
|
+
this.currentCommand = null;
|
|
115
|
+
this.processNextCommand();
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
open: async (sock) => {
|
|
122
|
+
cleanup();
|
|
123
|
+
socketData.write = (data) => sock.write(data);
|
|
124
|
+
socketData.end = () => sock.end();
|
|
125
|
+
this.socket = socketData;
|
|
126
|
+
this.connected = true;
|
|
127
|
+
this.connecting = false;
|
|
128
|
+
// Authenticate if token provided
|
|
129
|
+
if (this.options.token) {
|
|
130
|
+
try {
|
|
131
|
+
const authResponse = await this.sendInternal({
|
|
132
|
+
cmd: 'Auth',
|
|
133
|
+
token: this.options.token,
|
|
134
|
+
});
|
|
135
|
+
if (!authResponse.ok) {
|
|
136
|
+
connectionResolved = true;
|
|
137
|
+
reject(new Error('Authentication failed'));
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (err) {
|
|
142
|
+
connectionResolved = true;
|
|
143
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
connectionResolved = true;
|
|
148
|
+
resolve();
|
|
149
|
+
},
|
|
150
|
+
close: () => {
|
|
151
|
+
const wasConnected = this.connected;
|
|
152
|
+
this.connected = false;
|
|
153
|
+
this.connecting = false;
|
|
154
|
+
this.socket = null;
|
|
155
|
+
this.stopPing();
|
|
156
|
+
// Reject current command
|
|
157
|
+
if (this.currentCommand) {
|
|
158
|
+
clearTimeout(this.currentCommand.timeout);
|
|
159
|
+
this.currentCommand.reject(new Error('Connection closed'));
|
|
160
|
+
this.currentCommand = null;
|
|
161
|
+
}
|
|
162
|
+
if (wasConnected) {
|
|
163
|
+
this.emit('disconnected');
|
|
164
|
+
if (this.options.autoReconnect && !this.closed) {
|
|
165
|
+
this.scheduleReconnect();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
if (!connectionResolved) {
|
|
169
|
+
connectionResolved = true;
|
|
170
|
+
cleanup();
|
|
171
|
+
reject(new Error('Connection closed'));
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
error: (_sock, error) => {
|
|
175
|
+
if (!connectionResolved) {
|
|
176
|
+
connectionResolved = true;
|
|
177
|
+
cleanup();
|
|
178
|
+
reject(new Error(`Connection error: ${error.message}`));
|
|
179
|
+
}
|
|
180
|
+
this.emit('error', error);
|
|
181
|
+
},
|
|
182
|
+
connectError: (_sock, error) => {
|
|
183
|
+
if (!connectionResolved) {
|
|
184
|
+
connectionResolved = true;
|
|
185
|
+
cleanup();
|
|
186
|
+
reject(new Error(`Failed to connect to ${this.options.host}:${this.options.port}: ${error.message}`));
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
});
|
|
191
|
+
// Connection timeout
|
|
192
|
+
timeoutId = setTimeout(() => {
|
|
193
|
+
if (!connectionResolved) {
|
|
194
|
+
connectionResolved = true;
|
|
195
|
+
reject(new Error(`Connection timeout to ${this.options.host}:${this.options.port}`));
|
|
196
|
+
}
|
|
197
|
+
}, this.options.connectTimeout);
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
/** Start periodic health check ping */
|
|
201
|
+
startPing() {
|
|
202
|
+
if (this.options.pingInterval <= 0)
|
|
203
|
+
return;
|
|
204
|
+
this.stopPing();
|
|
205
|
+
this.pingTimer = setInterval(() => {
|
|
206
|
+
void this.ping();
|
|
207
|
+
}, this.options.pingInterval);
|
|
208
|
+
}
|
|
209
|
+
/** Stop health check ping */
|
|
210
|
+
stopPing() {
|
|
211
|
+
if (this.pingTimer) {
|
|
212
|
+
clearInterval(this.pingTimer);
|
|
213
|
+
this.pingTimer = null;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/** Send ping to check connection health */
|
|
217
|
+
async ping() {
|
|
218
|
+
if (!this.connected)
|
|
219
|
+
return false;
|
|
220
|
+
try {
|
|
221
|
+
const response = await this.send({ cmd: 'Ping' });
|
|
222
|
+
return response.pong === true;
|
|
223
|
+
}
|
|
224
|
+
catch {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
/** Schedule reconnection with exponential backoff */
|
|
229
|
+
scheduleReconnect() {
|
|
230
|
+
if (this.reconnectTimer || this.closed)
|
|
231
|
+
return;
|
|
232
|
+
this.reconnectAttempts++;
|
|
233
|
+
if (this.reconnectAttempts > this.options.maxReconnectAttempts) {
|
|
234
|
+
this.emit('maxReconnectAttemptsReached');
|
|
235
|
+
// Reject all pending commands
|
|
236
|
+
for (const cmd of this.pendingCommands) {
|
|
237
|
+
clearTimeout(cmd.timeout);
|
|
238
|
+
cmd.reject(new Error('Max reconnection attempts reached'));
|
|
239
|
+
}
|
|
240
|
+
this.pendingCommands = [];
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
// Exponential backoff with jitter
|
|
244
|
+
const baseDelay = Math.min(this.options.reconnectDelay * Math.pow(2, this.reconnectAttempts - 1), this.options.maxReconnectDelay);
|
|
245
|
+
const jitter = Math.random() * 0.3 * baseDelay; // 0-30% jitter
|
|
246
|
+
const delay = baseDelay + jitter;
|
|
247
|
+
this.emit('reconnecting', { attempt: this.reconnectAttempts, delay });
|
|
248
|
+
this.reconnectTimer = setTimeout(() => {
|
|
249
|
+
this.reconnectTimer = null;
|
|
250
|
+
this.connect()
|
|
251
|
+
.then(() => {
|
|
252
|
+
// Process queued commands after reconnection
|
|
253
|
+
this.processNextCommand();
|
|
254
|
+
})
|
|
255
|
+
.catch(() => {
|
|
256
|
+
// connect() will schedule another reconnect if needed
|
|
257
|
+
});
|
|
258
|
+
}, delay);
|
|
259
|
+
}
|
|
260
|
+
/** Internal send without auto-connect */
|
|
261
|
+
async sendInternal(command) {
|
|
262
|
+
if (!this.socket) {
|
|
263
|
+
throw new Error('Not connected');
|
|
264
|
+
}
|
|
265
|
+
return new Promise((resolve, reject) => {
|
|
266
|
+
const timeout = setTimeout(() => {
|
|
267
|
+
if (this.currentCommand?.command === command) {
|
|
268
|
+
this.currentCommand = null;
|
|
269
|
+
reject(new Error('Command timeout'));
|
|
270
|
+
this.processNextCommand();
|
|
271
|
+
}
|
|
272
|
+
}, this.options.commandTimeout);
|
|
273
|
+
this.currentCommand = { command, resolve, reject, timeout };
|
|
274
|
+
if (this.socket) {
|
|
275
|
+
this.socket.write(JSON.stringify(command) + '\n');
|
|
276
|
+
}
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
/** Process next pending command */
|
|
280
|
+
processNextCommand() {
|
|
281
|
+
if (this.currentCommand || !this.connected || this.pendingCommands.length === 0) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const next = this.pendingCommands.shift();
|
|
285
|
+
if (!next || !this.socket)
|
|
286
|
+
return;
|
|
287
|
+
this.currentCommand = next;
|
|
288
|
+
this.socket.write(JSON.stringify(next.command) + '\n');
|
|
289
|
+
}
|
|
290
|
+
/** Send command and wait for response */
|
|
291
|
+
async send(command) {
|
|
292
|
+
// If connected and no pending commands, send immediately
|
|
293
|
+
if (this.connected && this.pendingCommands.length === 0 && !this.currentCommand) {
|
|
294
|
+
return this.sendInternal(command);
|
|
295
|
+
}
|
|
296
|
+
// Otherwise queue the command
|
|
297
|
+
return new Promise((resolve, reject) => {
|
|
298
|
+
const timeout = setTimeout(() => {
|
|
299
|
+
const idx = this.pendingCommands.findIndex((c) => c.command === command);
|
|
300
|
+
if (idx !== -1) {
|
|
301
|
+
this.pendingCommands.splice(idx, 1);
|
|
302
|
+
reject(new Error('Command timeout'));
|
|
303
|
+
}
|
|
304
|
+
}, this.options.commandTimeout);
|
|
305
|
+
this.pendingCommands.push({ command, resolve, reject, timeout });
|
|
306
|
+
// Try to connect if not connected
|
|
307
|
+
if (!this.connected && !this.connecting) {
|
|
308
|
+
this.connect().catch(() => {
|
|
309
|
+
// Error handled by reconnect logic
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
else if (this.connected) {
|
|
313
|
+
this.processNextCommand();
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/** Close connection */
|
|
318
|
+
close() {
|
|
319
|
+
this.closed = true;
|
|
320
|
+
this.stopPing();
|
|
321
|
+
if (this.reconnectTimer) {
|
|
322
|
+
clearTimeout(this.reconnectTimer);
|
|
323
|
+
this.reconnectTimer = null;
|
|
324
|
+
}
|
|
325
|
+
// Reject all pending commands
|
|
326
|
+
for (const cmd of this.pendingCommands) {
|
|
327
|
+
clearTimeout(cmd.timeout);
|
|
328
|
+
cmd.reject(new Error('Client closed'));
|
|
329
|
+
}
|
|
330
|
+
this.pendingCommands = [];
|
|
331
|
+
if (this.currentCommand) {
|
|
332
|
+
clearTimeout(this.currentCommand.timeout);
|
|
333
|
+
this.currentCommand.reject(new Error('Client closed'));
|
|
334
|
+
this.currentCommand = null;
|
|
335
|
+
}
|
|
336
|
+
if (this.socket) {
|
|
337
|
+
this.socket.end();
|
|
338
|
+
this.socket = null;
|
|
339
|
+
this.connected = false;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
/** Check if connected */
|
|
343
|
+
isConnected() {
|
|
344
|
+
return this.connected;
|
|
345
|
+
}
|
|
346
|
+
/** Get connection state */
|
|
347
|
+
getState() {
|
|
348
|
+
if (this.closed)
|
|
349
|
+
return 'closed';
|
|
350
|
+
if (this.connected)
|
|
351
|
+
return 'connected';
|
|
352
|
+
if (this.connecting)
|
|
353
|
+
return 'connecting';
|
|
354
|
+
return 'disconnected';
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
/** Shared client instance */
|
|
358
|
+
let sharedClient = null;
|
|
359
|
+
/** Get shared TCP client */
|
|
360
|
+
export function getSharedTcpClient(options) {
|
|
361
|
+
sharedClient ??= new TcpClient(options);
|
|
362
|
+
return sharedClient;
|
|
363
|
+
}
|
|
364
|
+
/** Close shared client */
|
|
365
|
+
export function closeSharedTcpClient() {
|
|
366
|
+
if (sharedClient) {
|
|
367
|
+
sharedClient.close();
|
|
368
|
+
sharedClient = null;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
//# sourceMappingURL=tcpClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcpClient.js","sourceRoot":"","sources":["../../src/client/tcpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCP Connection Pool
|
|
3
|
+
* Manages multiple TCP connections for parallel operations
|
|
4
|
+
*/
|
|
5
|
+
import { type ConnectionOptions } from './tcpClient';
|
|
6
|
+
export interface PoolOptions extends Partial<ConnectionOptions> {
|
|
7
|
+
/** Number of connections in pool (default: 4) */
|
|
8
|
+
poolSize?: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Connection pool for parallel TCP operations
|
|
12
|
+
* Round-robin distribution of commands across connections
|
|
13
|
+
*/
|
|
14
|
+
export declare class TcpConnectionPool {
|
|
15
|
+
private readonly clients;
|
|
16
|
+
private readonly options;
|
|
17
|
+
private currentIndex;
|
|
18
|
+
private closed;
|
|
19
|
+
constructor(options?: PoolOptions);
|
|
20
|
+
/** Connect all clients in pool */
|
|
21
|
+
connect(): Promise<void>;
|
|
22
|
+
/** Get next client (round-robin) */
|
|
23
|
+
private getNextClient;
|
|
24
|
+
/** Send command using next available connection */
|
|
25
|
+
send(command: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
26
|
+
/** Send multiple commands in parallel across pool */
|
|
27
|
+
sendParallel(commands: Array<Record<string, unknown>>): Promise<Array<Record<string, unknown>>>;
|
|
28
|
+
/** Check if any connection is ready */
|
|
29
|
+
isConnected(): boolean;
|
|
30
|
+
/** Get number of connected clients */
|
|
31
|
+
getConnectedCount(): number;
|
|
32
|
+
/** Get pool size */
|
|
33
|
+
getPoolSize(): number;
|
|
34
|
+
/** Close all connections */
|
|
35
|
+
close(): void;
|
|
36
|
+
}
|
|
37
|
+
/** Get or create shared connection pool */
|
|
38
|
+
export declare function getSharedPool(options?: PoolOptions): TcpConnectionPool;
|
|
39
|
+
/** Close shared pool */
|
|
40
|
+
export declare function closeSharedPool(): void;
|
|
41
|
+
//# sourceMappingURL=tcpPool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcpPool.d.ts","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC7D,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,GAAE,WAAgB;IAiCrC,kCAAkC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,oCAAoC;IACpC,OAAO,CAAC,aAAa;IAMrB,mDAAmD;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAO9E,qDAAqD;IAC/C,YAAY,CAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAc1C,uCAAuC;IACvC,WAAW,IAAI,OAAO;IAItB,sCAAsC;IACtC,iBAAiB,IAAI,MAAM;IAI3B,oBAAoB;IACpB,WAAW,IAAI,MAAM;IAIrB,4BAA4B;IAC5B,KAAK,IAAI,IAAI;CAOd;AAKD,2CAA2C;AAC3C,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAGtE;AAED,wBAAwB;AACxB,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TCP Connection Pool
|
|
3
|
+
* Manages multiple TCP connections for parallel operations
|
|
4
|
+
*/
|
|
5
|
+
import { TcpClient } from './tcpClient';
|
|
6
|
+
/**
|
|
7
|
+
* Connection pool for parallel TCP operations
|
|
8
|
+
* Round-robin distribution of commands across connections
|
|
9
|
+
*/
|
|
10
|
+
export class TcpConnectionPool {
|
|
11
|
+
clients = [];
|
|
12
|
+
options;
|
|
13
|
+
currentIndex = 0;
|
|
14
|
+
closed = false;
|
|
15
|
+
constructor(options = {}) {
|
|
16
|
+
this.options = {
|
|
17
|
+
host: options.host ?? 'localhost',
|
|
18
|
+
port: options.port ?? 6789,
|
|
19
|
+
token: options.token ?? '',
|
|
20
|
+
poolSize: options.poolSize ?? 4,
|
|
21
|
+
maxReconnectAttempts: options.maxReconnectAttempts ?? Infinity,
|
|
22
|
+
reconnectDelay: options.reconnectDelay ?? 100,
|
|
23
|
+
maxReconnectDelay: options.maxReconnectDelay ?? 30000,
|
|
24
|
+
connectTimeout: options.connectTimeout ?? 5000,
|
|
25
|
+
commandTimeout: options.commandTimeout ?? 30000,
|
|
26
|
+
autoReconnect: options.autoReconnect ?? true,
|
|
27
|
+
pingInterval: options.pingInterval ?? 30000,
|
|
28
|
+
};
|
|
29
|
+
// Create pool of connections
|
|
30
|
+
for (let i = 0; i < this.options.poolSize; i++) {
|
|
31
|
+
const client = new TcpClient({
|
|
32
|
+
host: this.options.host,
|
|
33
|
+
port: this.options.port,
|
|
34
|
+
token: this.options.token,
|
|
35
|
+
maxReconnectAttempts: this.options.maxReconnectAttempts,
|
|
36
|
+
reconnectDelay: this.options.reconnectDelay,
|
|
37
|
+
maxReconnectDelay: this.options.maxReconnectDelay,
|
|
38
|
+
connectTimeout: this.options.connectTimeout,
|
|
39
|
+
commandTimeout: this.options.commandTimeout,
|
|
40
|
+
autoReconnect: this.options.autoReconnect,
|
|
41
|
+
pingInterval: this.options.pingInterval,
|
|
42
|
+
});
|
|
43
|
+
this.clients.push(client);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Connect all clients in pool */
|
|
47
|
+
async connect() {
|
|
48
|
+
await Promise.all(this.clients.map((c) => c.connect()));
|
|
49
|
+
}
|
|
50
|
+
/** Get next client (round-robin) */
|
|
51
|
+
getNextClient() {
|
|
52
|
+
const client = this.clients[this.currentIndex];
|
|
53
|
+
this.currentIndex = (this.currentIndex + 1) % this.clients.length;
|
|
54
|
+
return client;
|
|
55
|
+
}
|
|
56
|
+
/** Send command using next available connection */
|
|
57
|
+
async send(command) {
|
|
58
|
+
if (this.closed) {
|
|
59
|
+
throw new Error('Connection pool is closed');
|
|
60
|
+
}
|
|
61
|
+
return this.getNextClient().send(command);
|
|
62
|
+
}
|
|
63
|
+
/** Send multiple commands in parallel across pool */
|
|
64
|
+
async sendParallel(commands) {
|
|
65
|
+
if (this.closed) {
|
|
66
|
+
throw new Error('Connection pool is closed');
|
|
67
|
+
}
|
|
68
|
+
// Distribute commands across clients
|
|
69
|
+
const promises = commands.map((cmd, i) => {
|
|
70
|
+
const client = this.clients[i % this.clients.length];
|
|
71
|
+
return client.send(cmd);
|
|
72
|
+
});
|
|
73
|
+
return Promise.all(promises);
|
|
74
|
+
}
|
|
75
|
+
/** Check if any connection is ready */
|
|
76
|
+
isConnected() {
|
|
77
|
+
return this.clients.some((c) => c.isConnected());
|
|
78
|
+
}
|
|
79
|
+
/** Get number of connected clients */
|
|
80
|
+
getConnectedCount() {
|
|
81
|
+
return this.clients.filter((c) => c.isConnected()).length;
|
|
82
|
+
}
|
|
83
|
+
/** Get pool size */
|
|
84
|
+
getPoolSize() {
|
|
85
|
+
return this.clients.length;
|
|
86
|
+
}
|
|
87
|
+
/** Close all connections */
|
|
88
|
+
close() {
|
|
89
|
+
this.closed = true;
|
|
90
|
+
for (const client of this.clients) {
|
|
91
|
+
client.close();
|
|
92
|
+
}
|
|
93
|
+
this.clients.length = 0;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/** Shared pool instance */
|
|
97
|
+
let sharedPool = null;
|
|
98
|
+
/** Get or create shared connection pool */
|
|
99
|
+
export function getSharedPool(options) {
|
|
100
|
+
sharedPool ??= new TcpConnectionPool(options);
|
|
101
|
+
return sharedPool;
|
|
102
|
+
}
|
|
103
|
+
/** Close shared pool */
|
|
104
|
+
export function closeSharedPool() {
|
|
105
|
+
if (sharedPool) {
|
|
106
|
+
sharedPool.close();
|
|
107
|
+
sharedPool = null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=tcpPool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tcpPool.js","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -40,16 +40,39 @@ export interface JobOptions {
|
|
|
40
40
|
pattern?: string;
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
|
+
/** Connection options for TCP mode */
|
|
44
|
+
export interface ConnectionOptions {
|
|
45
|
+
/** Server host (default: localhost) */
|
|
46
|
+
host?: string;
|
|
47
|
+
/** Server port (default: 6789) */
|
|
48
|
+
port?: number;
|
|
49
|
+
/** Auth token */
|
|
50
|
+
token?: string;
|
|
51
|
+
/** Connection pool size for parallel operations (default: 1, set >1 to enable pooling) */
|
|
52
|
+
poolSize?: number;
|
|
53
|
+
}
|
|
43
54
|
/** Queue options */
|
|
44
55
|
export interface QueueOptions {
|
|
45
56
|
defaultJobOptions?: JobOptions;
|
|
57
|
+
/** Connection options - if omitted, connects to localhost:6789 */
|
|
58
|
+
connection?: ConnectionOptions;
|
|
59
|
+
/** Use embedded mode (in-process SQLite) instead of TCP */
|
|
60
|
+
embedded?: boolean;
|
|
46
61
|
}
|
|
47
62
|
/** Worker options */
|
|
48
63
|
export interface WorkerOptions {
|
|
49
64
|
concurrency?: number;
|
|
50
65
|
autorun?: boolean;
|
|
51
|
-
/** Heartbeat interval in ms (default: 10000) */
|
|
66
|
+
/** Heartbeat interval in ms (default: 10000). Set to 0 to disable. */
|
|
52
67
|
heartbeatInterval?: number;
|
|
68
|
+
/** Connection options - if omitted, connects to localhost:6789 */
|
|
69
|
+
connection?: ConnectionOptions;
|
|
70
|
+
/** Use embedded mode (in-process SQLite) instead of TCP */
|
|
71
|
+
embedded?: boolean;
|
|
72
|
+
/** Batch size for pulling jobs (default: 10, max: 1000). Higher = fewer round-trips */
|
|
73
|
+
batchSize?: number;
|
|
74
|
+
/** Long poll timeout in ms when queue is empty (default: 0 = no wait, max: 30000) */
|
|
75
|
+
pollTimeout?: number;
|
|
53
76
|
}
|
|
54
77
|
/** Stall configuration for a queue */
|
|
55
78
|
export interface StallConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAE9D,qCAAqC;AACrC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,OAAO;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,+BAA+B;IAC/B,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrC;AAED,uCAAuC;AACvC,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE;QACP,kCAAkC;QAClC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,8CAA8C;QAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,0CAA0C;QAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,oBAAoB;AACpB,MAAM,WAAW,YAAY;IAC3B,iBAAiB,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
|
package/dist/client/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2KH,6EAA6E;AAC7E,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAkC,CAAC;QACxE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAC7B,GAAgB,EAChB,IAAY,EACZ,cAAiF,EACjF,GAAmD;IAEnD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAM;QACpC,SAAS,EAAE,GAAG,CAAC,KAAK;QACpB,YAAY,EAAE,GAAG,CAAC,QAAQ;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,cAAc,EAAE,CAAC,QAAgB,EAAE,OAAgB,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC7F,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC;KAC3C,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,WAAW,CAAI,GAAgB,EAAE,IAAY;IAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1B,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAM;QACpC,SAAS,EAAE,GAAG,CAAC,KAAK;QACpB,YAAY,EAAE,GAAG,CAAC,QAAQ;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,cAAc,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QAC9B,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;KACpB,CAAC;AACJ,CAAC;AAID,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAI,KAAuB;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,IAAgC,CAAC;IAC3D,OAAO;QACL,GAAG,EAAE,WAAW,CAAI,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;QAC1D,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAuB;QACrC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,MAAM,EAAE,CAAC,CAAC,MAAuB;YACjC,KAAK,EAAE,CAAC,CAAC,KAAK;YACd,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC;QACH,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC"}
|