bunqueue 1.9.7 → 1.9.9
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/backgroundTasks.d.ts +3 -6
- package/dist/application/backgroundTasks.d.ts.map +1 -1
- package/dist/application/backgroundTasks.js +10 -179
- package/dist/application/backgroundTasks.js.map +1 -1
- package/dist/application/cleanupTasks.d.ts +1 -1
- package/dist/application/cleanupTasks.d.ts.map +1 -1
- package/dist/application/cleanupTasks.js +61 -22
- package/dist/application/cleanupTasks.js.map +1 -1
- package/dist/application/clientTracking.d.ts +22 -0
- package/dist/application/clientTracking.d.ts.map +1 -0
- package/dist/application/clientTracking.js +118 -0
- package/dist/application/clientTracking.js.map +1 -0
- package/dist/application/contextFactory.d.ts +97 -0
- package/dist/application/contextFactory.d.ts.map +1 -0
- package/dist/application/contextFactory.js +170 -0
- package/dist/application/contextFactory.js.map +1 -0
- package/dist/application/dependencyProcessor.d.ts +11 -0
- package/dist/application/dependencyProcessor.d.ts.map +1 -0
- package/dist/application/dependencyProcessor.js +69 -0
- package/dist/application/dependencyProcessor.js.map +1 -0
- package/dist/application/dlqManager.d.ts +12 -0
- package/dist/application/dlqManager.d.ts.map +1 -1
- package/dist/application/dlqManager.js +36 -0
- package/dist/application/dlqManager.js.map +1 -1
- package/dist/application/lockManager.d.ts +3 -49
- package/dist/application/lockManager.d.ts.map +1 -1
- package/dist/application/lockManager.js +101 -272
- package/dist/application/lockManager.js.map +1 -1
- package/dist/application/lockOperations.d.ts +39 -0
- package/dist/application/lockOperations.d.ts.map +1 -0
- package/dist/application/lockOperations.js +101 -0
- package/dist/application/lockOperations.js.map +1 -0
- package/dist/application/operations/ack.d.ts +1 -5
- package/dist/application/operations/ack.d.ts.map +1 -1
- package/dist/application/operations/ack.js +43 -259
- package/dist/application/operations/ack.js.map +1 -1
- package/dist/application/operations/ackHelpers.d.ts +79 -0
- package/dist/application/operations/ackHelpers.d.ts.map +1 -0
- package/dist/application/operations/ackHelpers.js +173 -0
- package/dist/application/operations/ackHelpers.js.map +1 -0
- package/dist/application/operations/jobManagement.d.ts +2 -0
- package/dist/application/operations/jobManagement.d.ts.map +1 -1
- package/dist/application/operations/jobManagement.js +8 -0
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/push.d.ts.map +1 -1
- package/dist/application/operations/push.js +20 -6
- package/dist/application/operations/push.js.map +1 -1
- package/dist/application/operations/queryOperations.d.ts +11 -0
- package/dist/application/operations/queryOperations.d.ts.map +1 -1
- package/dist/application/operations/queryOperations.js +32 -0
- package/dist/application/operations/queryOperations.js.map +1 -1
- package/dist/application/queueManager.d.ts +3 -11
- package/dist/application/queueManager.d.ts.map +1 -1
- package/dist/application/queueManager.js +98 -244
- package/dist/application/queueManager.js.map +1 -1
- package/dist/application/stallDetection.d.ts +11 -0
- package/dist/application/stallDetection.d.ts.map +1 -0
- package/dist/application/stallDetection.js +128 -0
- package/dist/application/stallDetection.js.map +1 -0
- package/dist/application/types.js +1 -1
- package/dist/application/types.js.map +1 -1
- package/dist/cli/client.d.ts +3 -5
- package/dist/cli/client.d.ts.map +1 -1
- package/dist/cli/client.js +31 -27
- package/dist/cli/client.js.map +1 -1
- package/dist/cli/commands/core.js +3 -3
- package/dist/cli/commands/core.js.map +1 -1
- package/dist/cli/commands/job.js +14 -14
- package/dist/cli/commands/job.js.map +1 -1
- package/dist/cli/commands/server.d.ts.map +1 -1
- package/dist/cli/commands/server.js +5 -29
- package/dist/cli/commands/server.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -9
- package/dist/cli/index.js.map +1 -1
- package/dist/client/events.d.ts +0 -1
- package/dist/client/events.d.ts.map +1 -1
- package/dist/client/events.js +4 -7
- package/dist/client/events.js.map +1 -1
- package/dist/client/flow.d.ts +23 -1
- package/dist/client/flow.d.ts.map +1 -1
- package/dist/client/flow.js +166 -68
- package/dist/client/flow.js.map +1 -1
- package/dist/client/queue/queue.d.ts.map +1 -1
- package/dist/client/queue/queue.js +3 -1
- package/dist/client/queue/queue.js.map +1 -1
- package/dist/client/sandboxed/types.d.ts +1 -0
- package/dist/client/sandboxed/types.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.d.ts +1 -0
- package/dist/client/sandboxed/worker.d.ts.map +1 -1
- package/dist/client/sandboxed/worker.js +31 -8
- package/dist/client/sandboxed/worker.js.map +1 -1
- package/dist/client/sandboxed/wrapper.d.ts.map +1 -1
- package/dist/client/sandboxed/wrapper.js +10 -1
- package/dist/client/sandboxed/wrapper.js.map +1 -1
- package/dist/client/tcp/client.d.ts +4 -1
- package/dist/client/tcp/client.d.ts.map +1 -1
- package/dist/client/tcp/client.js +26 -8
- package/dist/client/tcp/client.js.map +1 -1
- package/dist/client/tcp/connection.d.ts +6 -8
- package/dist/client/tcp/connection.d.ts.map +1 -1
- package/dist/client/tcp/connection.js +24 -22
- package/dist/client/tcp/connection.js.map +1 -1
- package/dist/client/tcp/index.d.ts +0 -1
- package/dist/client/tcp/index.d.ts.map +1 -1
- package/dist/client/tcp/index.js +0 -1
- package/dist/client/tcp/index.js.map +1 -1
- package/dist/client/tcp/types.d.ts +8 -13
- package/dist/client/tcp/types.d.ts.map +1 -1
- package/dist/client/tcp/types.js +0 -1
- package/dist/client/tcp/types.js.map +1 -1
- package/dist/client/tcpPool.d.ts.map +1 -1
- package/dist/client/tcpPool.js +0 -6
- package/dist/client/tcpPool.js.map +1 -1
- package/dist/client/worker/ackBatcher.d.ts +1 -1
- package/dist/client/worker/ackBatcher.d.ts.map +1 -1
- package/dist/client/worker/ackBatcher.js +20 -18
- package/dist/client/worker/ackBatcher.js.map +1 -1
- package/dist/client/worker/jobParser.d.ts.map +1 -1
- package/dist/client/worker/jobParser.js +8 -7
- package/dist/client/worker/jobParser.js.map +1 -1
- package/dist/client/worker/processor.d.ts.map +1 -1
- package/dist/client/worker/processor.js +10 -6
- package/dist/client/worker/processor.js.map +1 -1
- package/dist/domain/queue/dependencyTracker.d.ts +74 -0
- package/dist/domain/queue/dependencyTracker.d.ts.map +1 -0
- package/dist/domain/queue/dependencyTracker.js +126 -0
- package/dist/domain/queue/dependencyTracker.js.map +1 -0
- package/dist/domain/queue/dlqShard.d.ts +61 -0
- package/dist/domain/queue/dlqShard.d.ts.map +1 -0
- package/dist/domain/queue/dlqShard.js +175 -0
- package/dist/domain/queue/dlqShard.js.map +1 -0
- package/dist/domain/queue/limiterManager.d.ts +44 -0
- package/dist/domain/queue/limiterManager.d.ts.map +1 -0
- package/dist/domain/queue/limiterManager.js +99 -0
- package/dist/domain/queue/limiterManager.js.map +1 -0
- package/dist/domain/queue/shard.d.ts +33 -124
- package/dist/domain/queue/shard.d.ts.map +1 -1
- package/dist/domain/queue/shard.js +157 -427
- package/dist/domain/queue/shard.js.map +1 -1
- package/dist/domain/queue/temporalManager.d.ts +82 -0
- package/dist/domain/queue/temporalManager.d.ts.map +1 -0
- package/dist/domain/queue/temporalManager.js +150 -0
- package/dist/domain/queue/temporalManager.js.map +1 -0
- package/dist/domain/queue/uniqueKeyManager.d.ts +32 -0
- package/dist/domain/queue/uniqueKeyManager.d.ts.map +1 -0
- package/dist/domain/queue/uniqueKeyManager.js +87 -0
- package/dist/domain/queue/uniqueKeyManager.js.map +1 -0
- package/dist/domain/types/command.d.ts +6 -0
- package/dist/domain/types/command.d.ts.map +1 -1
- package/dist/infrastructure/backup/s3Backup.d.ts +3 -40
- package/dist/infrastructure/backup/s3Backup.d.ts.map +1 -1
- package/dist/infrastructure/backup/s3Backup.js +10 -182
- package/dist/infrastructure/backup/s3Backup.js.map +1 -1
- package/dist/infrastructure/backup/s3BackupConfig.d.ts +67 -0
- package/dist/infrastructure/backup/s3BackupConfig.d.ts.map +1 -0
- package/dist/infrastructure/backup/s3BackupConfig.js +48 -0
- package/dist/infrastructure/backup/s3BackupConfig.js.map +1 -0
- package/dist/infrastructure/backup/s3BackupOperations.d.ts +23 -0
- package/dist/infrastructure/backup/s3BackupOperations.d.ts.map +1 -0
- package/dist/infrastructure/backup/s3BackupOperations.js +170 -0
- package/dist/infrastructure/backup/s3BackupOperations.js.map +1 -0
- package/dist/infrastructure/persistence/sqlite.d.ts +6 -13
- package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
- package/dist/infrastructure/persistence/sqlite.js +28 -179
- package/dist/infrastructure/persistence/sqlite.js.map +1 -1
- package/dist/infrastructure/persistence/sqliteBatch.d.ts +38 -0
- package/dist/infrastructure/persistence/sqliteBatch.d.ts.map +1 -0
- package/dist/infrastructure/persistence/sqliteBatch.js +124 -0
- package/dist/infrastructure/persistence/sqliteBatch.js.map +1 -0
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts +17 -0
- package/dist/infrastructure/persistence/sqliteSerializer.d.ts.map +1 -0
- package/dist/infrastructure/persistence/sqliteSerializer.js +81 -0
- package/dist/infrastructure/persistence/sqliteSerializer.js.map +1 -0
- package/dist/infrastructure/persistence/statements.d.ts +1 -1
- package/dist/infrastructure/persistence/statements.d.ts.map +1 -1
- package/dist/infrastructure/persistence/statements.js +3 -2
- package/dist/infrastructure/persistence/statements.js.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.d.ts +7 -0
- package/dist/infrastructure/scheduler/cronScheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.js +23 -3
- package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
- package/dist/infrastructure/server/handler.d.ts.map +1 -1
- package/dist/infrastructure/server/handler.js +1 -186
- package/dist/infrastructure/server/handler.js.map +1 -1
- package/dist/infrastructure/server/handlerRoutes.d.ts +23 -0
- package/dist/infrastructure/server/handlerRoutes.d.ts.map +1 -0
- package/dist/infrastructure/server/handlerRoutes.js +190 -0
- package/dist/infrastructure/server/handlerRoutes.js.map +1 -0
- package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
- package/dist/infrastructure/server/handlers/core.js +26 -19
- package/dist/infrastructure/server/handlers/core.js.map +1 -1
- package/dist/infrastructure/server/http.d.ts +4 -25
- package/dist/infrastructure/server/http.d.ts.map +1 -1
- package/dist/infrastructure/server/http.js +68 -285
- package/dist/infrastructure/server/http.js.map +1 -1
- package/dist/infrastructure/server/httpEndpoints.d.ts +19 -0
- package/dist/infrastructure/server/httpEndpoints.d.ts.map +1 -0
- package/dist/infrastructure/server/httpEndpoints.js +151 -0
- package/dist/infrastructure/server/httpEndpoints.js.map +1 -0
- package/dist/infrastructure/server/protocol.d.ts +15 -1
- package/dist/infrastructure/server/protocol.d.ts.map +1 -1
- package/dist/infrastructure/server/protocol.js +37 -3
- package/dist/infrastructure/server/protocol.js.map +1 -1
- package/dist/infrastructure/server/sseHandler.d.ts +27 -0
- package/dist/infrastructure/server/sseHandler.d.ts.map +1 -0
- package/dist/infrastructure/server/sseHandler.js +77 -0
- package/dist/infrastructure/server/sseHandler.js.map +1 -0
- package/dist/infrastructure/server/tcp.d.ts +8 -10
- package/dist/infrastructure/server/tcp.d.ts.map +1 -1
- package/dist/infrastructure/server/tcp.js +51 -42
- package/dist/infrastructure/server/tcp.js.map +1 -1
- package/dist/infrastructure/server/wsHandler.d.ts +31 -0
- package/dist/infrastructure/server/wsHandler.d.ts.map +1 -0
- package/dist/infrastructure/server/wsHandler.js +63 -0
- package/dist/infrastructure/server/wsHandler.js.map +1 -0
- package/dist/main.js +2 -4
- package/dist/main.js.map +1 -1
- package/dist/mcp/index.js +3 -465
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcpHandlers.d.ts +129 -0
- package/dist/mcp/mcpHandlers.d.ts.map +1 -0
- package/dist/mcp/mcpHandlers.js +204 -0
- package/dist/mcp/mcpHandlers.js.map +1 -0
- package/dist/mcp/mcpTools.d.ts +15 -0
- package/dist/mcp/mcpTools.d.ts.map +1 -0
- package/dist/mcp/mcpTools.js +277 -0
- package/dist/mcp/mcpTools.js.map +1 -0
- package/dist/shared/lru.d.ts +23 -0
- package/dist/shared/lru.d.ts.map +1 -1
- package/dist/shared/lru.js +61 -3
- package/dist/shared/lru.js.map +1 -1
- package/dist/shared/skipList.d.ts +10 -2
- package/dist/shared/skipList.d.ts.map +1 -1
- package/dist/shared/skipList.js +22 -1
- package/dist/shared/skipList.js.map +1 -1
- package/package.json +2 -2
- package/dist/cli/dashboard.d.ts +0 -32
- package/dist/cli/dashboard.d.ts.map +0 -1
- package/dist/cli/dashboard.js +0 -183
- package/dist/cli/dashboard.js.map +0 -1
- package/dist/client/tcp/lineBuffer.d.ts +0 -17
- package/dist/client/tcp/lineBuffer.d.ts.map +0 -1
- package/dist/client/tcp/lineBuffer.js +0 -32
- package/dist/client/tcp/lineBuffer.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/client/tcp/connection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/client/tcp/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type { ConnectionOptions, ConnectionHealth, PendingCommand, SocketWrapper } from './types';
|
|
6
6
|
export { DEFAULT_CONNECTION } from './types';
|
|
7
|
-
export { LineBuffer } from './lineBuffer';
|
|
8
7
|
export { HealthTracker, type HealthConfig } from './health';
|
|
9
8
|
export { ReconnectManager, type ReconnectConfig } from './reconnect';
|
|
10
9
|
export { createConnection, CommandQueue } from './connection';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
|
package/dist/client/tcp/index.js
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Re-exports all TCP client components
|
|
4
4
|
*/
|
|
5
5
|
export { DEFAULT_CONNECTION } from './types';
|
|
6
|
-
export { LineBuffer } from './lineBuffer';
|
|
7
6
|
export { HealthTracker } from './health';
|
|
8
7
|
export { ReconnectManager } from './reconnect';
|
|
9
8
|
export { createConnection, CommandQueue } from './connection';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/tcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAwB,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -4,12 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/** Connection options */
|
|
6
6
|
export interface ConnectionOptions {
|
|
7
|
-
/** Server host
|
|
7
|
+
/** Server host */
|
|
8
8
|
host: string;
|
|
9
|
-
/** Server port
|
|
9
|
+
/** Server port */
|
|
10
10
|
port: number;
|
|
11
|
-
/** Unix socket path (takes priority over host/port) */
|
|
12
|
-
socketPath?: string;
|
|
13
11
|
/** Auth token */
|
|
14
12
|
token?: string;
|
|
15
13
|
/** Max reconnection attempts (default: Infinity) */
|
|
@@ -51,9 +49,7 @@ export interface ConnectionHealth {
|
|
|
51
49
|
uptimeMs: number;
|
|
52
50
|
}
|
|
53
51
|
/** Default connection options */
|
|
54
|
-
export declare const DEFAULT_CONNECTION: Required<
|
|
55
|
-
socketPath: string | undefined;
|
|
56
|
-
};
|
|
52
|
+
export declare const DEFAULT_CONNECTION: Required<ConnectionOptions>;
|
|
57
53
|
/** Pending command awaiting response */
|
|
58
54
|
export interface PendingCommand {
|
|
59
55
|
id: number;
|
|
@@ -64,13 +60,12 @@ export interface PendingCommand {
|
|
|
64
60
|
}
|
|
65
61
|
/** Socket wrapper interface */
|
|
66
62
|
export interface SocketWrapper {
|
|
67
|
-
write: (data: string) => void;
|
|
63
|
+
write: (data: Uint8Array | string) => void;
|
|
68
64
|
end: () => void;
|
|
69
|
-
|
|
65
|
+
frameParser: FrameParser;
|
|
70
66
|
}
|
|
71
|
-
/**
|
|
72
|
-
export interface
|
|
73
|
-
addData(data:
|
|
74
|
-
clear(): void;
|
|
67
|
+
/** Frame parser interface for binary protocol parsing */
|
|
68
|
+
export interface FrameParser {
|
|
69
|
+
addData(data: Uint8Array): Uint8Array[];
|
|
75
70
|
}
|
|
76
71
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yBAAyB;AACzB,MAAM,WAAW,iBAAiB;IAChC,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/tcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yBAAyB;AACzB,MAAM,WAAW,iBAAiB;IAChC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,gCAAgC;AAChC,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC9D,2CAA2C;IAC3C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,8BAA8B;IAC9B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,uBAAuB,EAAE,MAAM,CAAC;IAChC,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iCAAiC;AACjC,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,iBAAiB,CAY1D,CAAC;AAEF,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACxC;AAED,+BAA+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,KAAK,IAAI,CAAC;IAC3C,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B;AAED,yDAAyD;AACzD,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,EAAE,CAAC;CACzC"}
|
package/dist/client/tcp/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/tcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/tcp/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkDH,iCAAiC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAgC;IAC7D,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,IAAI;IACV,KAAK,EAAE,EAAE;IACT,oBAAoB,EAAE,QAAQ;IAC9B,cAAc,EAAE,GAAG;IACnB,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,KAAK;IACrB,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,KAAK;IACnB,eAAe,EAAE,CAAC;CACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcpPool.d.ts","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC7D,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"tcpPool.d.ts","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEvF,MAAM,WAAW,WAAY,SAAQ,OAAO,CAAC,iBAAiB,CAAC;IAC7D,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAuB;gBAE1B,OAAO,GAAE,WAAgB;IAoCrC,kCAAkC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,gDAAgD;IAChD,OAAO,CAAC,aAAa;IAmBrB,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,mDAAmD;IACnD,MAAM,IAAI,IAAI;IAId,kDAAkD;IAClD,OAAO,IAAI,IAAI;IAOf,2CAA2C;IAC3C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,4BAA4B;IAC5B,KAAK,IAAI,IAAI;IAcb,8BAA8B;IAC9B,QAAQ,IAAI,OAAO;IAInB,iDAAiD;IACjD,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;KACrB;CAuBF;AAYD,2CAA2C;AAC3C,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,CAWtE;AAED,oCAAoC;AACpC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAE/D;AAED,6BAA6B;AAC7B,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
|
package/dist/client/tcpPool.js
CHANGED
|
@@ -19,7 +19,6 @@ export class TcpConnectionPool {
|
|
|
19
19
|
this.options = {
|
|
20
20
|
host: options.host ?? 'localhost',
|
|
21
21
|
port: options.port ?? 6789,
|
|
22
|
-
socketPath: options.socketPath,
|
|
23
22
|
token: options.token ?? '',
|
|
24
23
|
poolSize,
|
|
25
24
|
maxReconnectAttempts: options.maxReconnectAttempts ?? Infinity,
|
|
@@ -34,7 +33,6 @@ export class TcpConnectionPool {
|
|
|
34
33
|
// Create pool of connections
|
|
35
34
|
for (let i = 0; i < this.options.poolSize; i++) {
|
|
36
35
|
const client = new TcpClient({
|
|
37
|
-
socketPath: this.options.socketPath,
|
|
38
36
|
host: this.options.host,
|
|
39
37
|
port: this.options.port,
|
|
40
38
|
token: this.options.token,
|
|
@@ -161,10 +159,6 @@ export class TcpConnectionPool {
|
|
|
161
159
|
const sharedPools = new Map();
|
|
162
160
|
/** Get pool key from options */
|
|
163
161
|
function getPoolKey(options) {
|
|
164
|
-
// Unix socket takes priority
|
|
165
|
-
if (options?.socketPath) {
|
|
166
|
-
return `unix:${options.socketPath}`;
|
|
167
|
-
}
|
|
168
162
|
const host = options?.host ?? 'localhost';
|
|
169
163
|
const port = options?.port ?? 6789;
|
|
170
164
|
return `${host}:${port}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcpPool.js","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAiD,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"tcpPool.js","sourceRoot":"","sources":["../../src/client/tcpPool.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export declare class AckBatcher {
|
|
|
25
25
|
/** Set TCP connection */
|
|
26
26
|
setTcp(tcp: TcpConnection | null): void;
|
|
27
27
|
/** Queue ACK for batch processing (with optional lock token) */
|
|
28
|
-
queue(id: string, result: unknown, token?: string): void
|
|
28
|
+
queue(id: string, result: unknown, token?: string): Promise<void>;
|
|
29
29
|
/** Flush pending ACKs with retry logic */
|
|
30
30
|
flush(): Promise<void>;
|
|
31
31
|
/** Send batch with exponential backoff retry */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ackBatcher.d.ts","sourceRoot":"","sources":["../../../src/client/worker/ackBatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAIzD,gCAAgC;AAChC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAErD,MAAM,EAAE,gBAAgB;IAIpC,yBAAyB;IACzB,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvC,gEAAgE;IAChE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ackBatcher.d.ts","sourceRoot":"","sources":["../../../src/client/worker/ackBatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAc,aAAa,EAAE,MAAM,SAAS,CAAC;AAIzD,gCAAgC;AAChC,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAKD;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmB;IAC1C,OAAO,CAAC,GAAG,CAA8B;IACzC,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiC;gBAErD,MAAM,EAAE,gBAAgB;IAIpC,yBAAyB;IACzB,MAAM,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAIvC,gEAAgE;IAChE,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BjE,0CAA0C;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,gDAAgD;YAClC,kBAAkB;IA8DhC,gEAAgE;IAChE,IAAI,IAAI,IAAI;IAUZ,sCAAsC;IACtC,UAAU,IAAI,OAAO;IAIrB,0DAA0D;IACpD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAIvC"}
|
|
@@ -26,27 +26,29 @@ export class AckBatcher {
|
|
|
26
26
|
}
|
|
27
27
|
/** Queue ACK for batch processing (with optional lock token) */
|
|
28
28
|
queue(id, result, token) {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
this.inFlightFlushes.add(flushPromise);
|
|
40
|
-
void flushPromise.finally(() => this.inFlightFlushes.delete(flushPromise));
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
this.ackTimer ??= setTimeout(() => {
|
|
44
|
-
this.ackTimer = null;
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
this.pendingAcks.push({
|
|
31
|
+
id,
|
|
32
|
+
result,
|
|
33
|
+
token,
|
|
34
|
+
resolve,
|
|
35
|
+
reject,
|
|
36
|
+
});
|
|
37
|
+
if (this.pendingAcks.length >= this.config.batchSize) {
|
|
38
|
+
// Track in-flight flush
|
|
45
39
|
const flushPromise = this.flush();
|
|
46
40
|
this.inFlightFlushes.add(flushPromise);
|
|
47
41
|
void flushPromise.finally(() => this.inFlightFlushes.delete(flushPromise));
|
|
48
|
-
}
|
|
49
|
-
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.ackTimer ??= setTimeout(() => {
|
|
45
|
+
this.ackTimer = null;
|
|
46
|
+
const flushPromise = this.flush();
|
|
47
|
+
this.inFlightFlushes.add(flushPromise);
|
|
48
|
+
void flushPromise.finally(() => this.inFlightFlushes.delete(flushPromise));
|
|
49
|
+
}, this.config.interval);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
50
52
|
}
|
|
51
53
|
/** Flush pending ACKs with retry logic */
|
|
52
54
|
async flush() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ackBatcher.js","sourceRoot":"","sources":["../../../src/client/worker/ackBatcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAW/C,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAEnC;;GAEG;AACH,MAAM,OAAO,UAAU;IACJ,WAAW,GAAiB,EAAE,CAAC;IACxC,QAAQ,GAAyC,IAAI,CAAC;IAC7C,MAAM,CAAmB;IAClC,GAAG,GAAyB,IAAI,CAAC;IACjC,OAAO,GAAG,KAAK,CAAC;IACxB,uEAAuE;IACtD,eAAe,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEjE,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,yBAAyB;IACzB,MAAM,CAAC,GAAyB;QAC9B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,gEAAgE;IAChE,KAAK,CAAC,EAAU,EAAE,MAAe,EAAE,KAAc;QAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ackBatcher.js","sourceRoot":"","sources":["../../../src/client/worker/ackBatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobParser.d.ts","sourceRoot":"","sources":["../../../src/client/worker/jobParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGjE;;GAEG;
|
|
1
|
+
{"version":3,"file":"jobParser.d.ts","sourceRoot":"","sources":["../../../src/client/worker/jobParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGjE;;GAEG;AAEH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,MAAM,GAChB,WAAW,CAiCb"}
|
|
@@ -6,6 +6,7 @@ import { jobId } from '../../domain/types/job';
|
|
|
6
6
|
/**
|
|
7
7
|
* Parse job from TCP response data
|
|
8
8
|
*/
|
|
9
|
+
// eslint-disable-next-line complexity
|
|
9
10
|
export function parseJobFromResponse(jobData, queueName) {
|
|
10
11
|
return {
|
|
11
12
|
id: jobId(jobData.id),
|
|
@@ -14,7 +15,7 @@ export function parseJobFromResponse(jobData, queueName) {
|
|
|
14
15
|
priority: jobData.priority ?? 0,
|
|
15
16
|
createdAt: jobData.createdAt ?? Date.now(),
|
|
16
17
|
runAt: jobData.runAt ?? Date.now(),
|
|
17
|
-
startedAt: Date.now(),
|
|
18
|
+
startedAt: jobData.startedAt ?? Date.now(),
|
|
18
19
|
completedAt: null,
|
|
19
20
|
attempts: jobData.attempts ?? 0,
|
|
20
21
|
maxAttempts: jobData.maxAttempts ?? 3,
|
|
@@ -25,12 +26,12 @@ export function parseJobFromResponse(jobData, queueName) {
|
|
|
25
26
|
customId: jobData.customId ?? null,
|
|
26
27
|
progress: jobData.progress ?? 0,
|
|
27
28
|
progressMessage: jobData.progressMessage ?? null,
|
|
28
|
-
dependsOn: [],
|
|
29
|
-
parentId: null,
|
|
30
|
-
childrenIds: [],
|
|
31
|
-
childrenCompleted: 0,
|
|
32
|
-
tags: [],
|
|
33
|
-
groupId: null,
|
|
29
|
+
dependsOn: Array.isArray(jobData.dependsOn) ? jobData.dependsOn : [],
|
|
30
|
+
parentId: jobData.parentId ?? null,
|
|
31
|
+
childrenIds: Array.isArray(jobData.childrenIds) ? jobData.childrenIds : [],
|
|
32
|
+
childrenCompleted: jobData.childrenCompleted ?? 0,
|
|
33
|
+
tags: Array.isArray(jobData.tags) ? jobData.tags : [],
|
|
34
|
+
groupId: jobData.groupId ?? null,
|
|
34
35
|
lifo: false,
|
|
35
36
|
removeOnComplete: jobData.removeOnComplete ?? false,
|
|
36
37
|
removeOnFail: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobParser.js","sourceRoot":"","sources":["../../../src/client/worker/jobParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAgC,EAChC,SAAiB;IAEjB,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAY,CAAC;QAC/B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,CAAC;QACvD,SAAS,EAAG,OAAO,CAAC,SAAgC,IAAI,IAAI,CAAC,GAAG,EAAE;QAClE,KAAK,EAAG,OAAO,CAAC,KAA4B,IAAI,IAAI,CAAC,GAAG,EAAE;QAC1D,SAAS,
|
|
1
|
+
{"version":3,"file":"jobParser.js","sourceRoot":"","sources":["../../../src/client/worker/jobParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C;;GAEG;AACH,sCAAsC;AACtC,MAAM,UAAU,oBAAoB,CAClC,OAAgC,EAChC,SAAiB;IAEjB,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,EAAY,CAAC;QAC/B,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,CAAC;QACvD,SAAS,EAAG,OAAO,CAAC,SAAgC,IAAI,IAAI,CAAC,GAAG,EAAE;QAClE,KAAK,EAAG,OAAO,CAAC,KAA4B,IAAI,IAAI,CAAC,GAAG,EAAE;QAC1D,SAAS,EAAG,OAAO,CAAC,SAAgC,IAAI,IAAI,CAAC,GAAG,EAAE;QAClE,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,CAAC;QACvD,WAAW,EAAG,OAAO,CAAC,WAAkC,IAAI,CAAC;QAC7D,OAAO,EAAG,OAAO,CAAC,OAA8B,IAAI,IAAI;QACxD,GAAG,EAAG,OAAO,CAAC,GAA0B,IAAI,IAAI;QAChD,OAAO,EAAG,OAAO,CAAC,OAA8B,IAAI,IAAI;QACxD,SAAS,EAAG,OAAO,CAAC,SAAgC,IAAI,IAAI;QAC5D,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,IAAI;QAC1D,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,CAAC;QACvD,eAAe,EAAG,OAAO,CAAC,eAAsC,IAAI,IAAI;QACxE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,SAAsB,CAAC,CAAC,CAAC,EAAE;QAClF,QAAQ,EAAG,OAAO,CAAC,QAA+B,IAAI,IAAI;QAC1D,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,WAAwB,CAAC,CAAC,CAAC,EAAE;QACxF,iBAAiB,EAAG,OAAO,CAAC,iBAAwC,IAAI,CAAC;QACzE,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,IAAiB,CAAC,CAAC,CAAC,EAAE;QACnE,OAAO,EAAG,OAAO,CAAC,OAA8B,IAAI,IAAI;QACxD,IAAI,EAAE,KAAK;QACX,gBAAgB,EAAG,OAAO,CAAC,gBAAwC,IAAI,KAAK;QAC5E,YAAY,EAAE,KAAK;QACnB,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,IAAI;QAClB,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;QACzB,MAAM,EAAE,IAAI;KACE,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAO,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAO,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,EAAE,GAAG,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,CAAC,EAAE,CAAC,EACnC,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,GAC5B,OAAO,CAAC,IAAI,CAAC,CAqCf"}
|
|
@@ -13,7 +13,10 @@ export async function processJob(internalJob, config) {
|
|
|
13
13
|
const jobData = internalJob.data;
|
|
14
14
|
const jobName = jobData?.name ?? 'default';
|
|
15
15
|
const jobIdStr = String(internalJob.id);
|
|
16
|
-
|
|
16
|
+
// Use a holder to break the circular reference between job and progress handler
|
|
17
|
+
const jobHolder = { current: null };
|
|
18
|
+
const job = createPublicJob(internalJob, jobName, createProgressHandler(embedded, tcp, emitter, jobHolder), createLogHandler(embedded, tcp));
|
|
19
|
+
jobHolder.current = job;
|
|
17
20
|
emitter.emit('active', job);
|
|
18
21
|
try {
|
|
19
22
|
const result = await processor(job);
|
|
@@ -24,7 +27,7 @@ export async function processJob(internalJob, config) {
|
|
|
24
27
|
}
|
|
25
28
|
else {
|
|
26
29
|
// Queue with token for batch ACK
|
|
27
|
-
ackBatcher.queue(jobIdStr, result, token ?? undefined);
|
|
30
|
+
void ackBatcher.queue(jobIdStr, result, token ?? undefined);
|
|
28
31
|
}
|
|
29
32
|
job.returnvalue = result;
|
|
30
33
|
emitter.emit('completed', job, result);
|
|
@@ -33,7 +36,7 @@ export async function processJob(internalJob, config) {
|
|
|
33
36
|
await handleJobFailure(internalJob, error, config, { job, jobIdStr, token });
|
|
34
37
|
}
|
|
35
38
|
}
|
|
36
|
-
function createProgressHandler(embedded, tcp, emitter) {
|
|
39
|
+
function createProgressHandler(embedded, tcp, emitter, jobHolder) {
|
|
37
40
|
return async (id, progress, message) => {
|
|
38
41
|
if (embedded) {
|
|
39
42
|
const manager = getSharedManager();
|
|
@@ -42,13 +45,14 @@ function createProgressHandler(embedded, tcp, emitter) {
|
|
|
42
45
|
else if (tcp) {
|
|
43
46
|
await tcp.send({ cmd: 'Progress', id, progress, message });
|
|
44
47
|
}
|
|
45
|
-
emitter.emit('progress',
|
|
48
|
+
emitter.emit('progress', jobHolder.current, progress);
|
|
46
49
|
};
|
|
47
50
|
}
|
|
48
51
|
function createLogHandler(embedded, tcp) {
|
|
49
52
|
return async (id, message) => {
|
|
50
53
|
if (embedded) {
|
|
51
54
|
const manager = getSharedManager();
|
|
55
|
+
// addLog is synchronous (in-memory Map update)
|
|
52
56
|
manager.addLog(jobId(id), message);
|
|
53
57
|
}
|
|
54
58
|
else if (tcp) {
|
|
@@ -67,12 +71,12 @@ async function handleJobFailure(internalJob, error, config, context) {
|
|
|
67
71
|
await manager.fail(internalJob.id, err.message, token ?? undefined);
|
|
68
72
|
}
|
|
69
73
|
else if (tcp) {
|
|
70
|
-
// Include token for lock verification
|
|
74
|
+
// Include token for lock verification (only if defined)
|
|
71
75
|
await tcp.send({
|
|
72
76
|
cmd: 'FAIL',
|
|
73
77
|
id: internalJob.id,
|
|
74
78
|
error: err.message,
|
|
75
|
-
token
|
|
79
|
+
...(token ? { token } : {}),
|
|
76
80
|
});
|
|
77
81
|
}
|
|
78
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAc9C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,WAAwB,EACxB,MAA6B;IAE7B,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IACxE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAgC,CAAC;IAC7D,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,IAAI,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAExC,MAAM,GAAG,GAAG,eAAe,CACzB,WAAW,EACX,OAAO,EACP,qBAAqB,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/client/worker/processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DependencyTracker - Tracks job dependencies and parent-child relationships
|
|
3
|
+
*/
|
|
4
|
+
import type { Job, JobId } from '../types/job';
|
|
5
|
+
/**
|
|
6
|
+
* Manages job dependency tracking for a shard
|
|
7
|
+
* Provides O(1) lookup when dependencies complete
|
|
8
|
+
*/
|
|
9
|
+
export declare class DependencyTracker {
|
|
10
|
+
/** Jobs waiting for dependencies */
|
|
11
|
+
readonly waitingDeps: Map<JobId, Job>;
|
|
12
|
+
/**
|
|
13
|
+
* Reverse index: depId -> Set of jobIds waiting for that dependency
|
|
14
|
+
* Enables O(1) lookup when a dependency completes instead of O(n) scan
|
|
15
|
+
*/
|
|
16
|
+
readonly dependencyIndex: Map<JobId, Set<JobId>>;
|
|
17
|
+
/** Parent jobs waiting for children to complete */
|
|
18
|
+
readonly waitingChildren: Map<JobId, Job>;
|
|
19
|
+
/**
|
|
20
|
+
* Register a job's dependencies in the reverse index
|
|
21
|
+
* Call when adding a job to waitingDeps
|
|
22
|
+
*/
|
|
23
|
+
registerDependencies(jobId: JobId, dependsOn: JobId[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Unregister a job's dependencies from the reverse index
|
|
26
|
+
* Call when removing a job from waitingDeps
|
|
27
|
+
*/
|
|
28
|
+
unregisterDependencies(jobId: JobId, dependsOn: JobId[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* Get jobs waiting for a specific dependency - O(1)
|
|
31
|
+
*/
|
|
32
|
+
getJobsWaitingFor(depId: JobId): Set<JobId> | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Add a job that is waiting for dependencies
|
|
35
|
+
*/
|
|
36
|
+
addWaitingJob(job: Job): void;
|
|
37
|
+
/**
|
|
38
|
+
* Remove a job from waiting deps
|
|
39
|
+
*/
|
|
40
|
+
removeWaitingJob(jobId: JobId): Job | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Get a job waiting for dependencies
|
|
43
|
+
*/
|
|
44
|
+
getWaitingJob(jobId: JobId): Job | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Check if a job is waiting for dependencies
|
|
47
|
+
*/
|
|
48
|
+
isWaiting(jobId: JobId): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Add a parent job waiting for children
|
|
51
|
+
*/
|
|
52
|
+
addWaitingParent(job: Job): void;
|
|
53
|
+
/**
|
|
54
|
+
* Remove a parent job from waiting
|
|
55
|
+
*/
|
|
56
|
+
removeWaitingParent(jobId: JobId): Job | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Get a parent job waiting for children
|
|
59
|
+
*/
|
|
60
|
+
getWaitingParent(jobId: JobId): Job | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Check if a parent is waiting for children
|
|
63
|
+
*/
|
|
64
|
+
isParentWaiting(jobId: JobId): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get counts for debugging
|
|
67
|
+
*/
|
|
68
|
+
getCounts(): {
|
|
69
|
+
waitingDeps: number;
|
|
70
|
+
dependencyIndex: number;
|
|
71
|
+
waitingChildren: number;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=dependencyTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dependencyTracker.d.ts","sourceRoot":"","sources":["../../../src/domain/queue/dependencyTracker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAE/C;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,oCAAoC;IACpC,QAAQ,CAAC,WAAW,kBAAyB;IAE7C;;;OAGG;IACH,QAAQ,CAAC,eAAe,yBAAgC;IAExD,mDAAmD;IACnD,QAAQ,CAAC,eAAe,kBAAyB;IAEjD;;;OAGG;IACH,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;IAW5D;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;IAY9D;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS;IAIvD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAO7B;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,SAAS;IAW/C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,SAAS;IAI5C;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAIhC;;OAEG;IACH,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAIhC;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,SAAS;IAQlD;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,SAAS;IAI/C;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAItC;;OAEG;IACH,SAAS,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;CAOvF"}
|