bunqueue 2.0.2 → 2.0.3

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.
Files changed (90) hide show
  1. package/dist/application/backgroundTasks.d.ts.map +1 -1
  2. package/dist/application/backgroundTasks.js +105 -29
  3. package/dist/application/backgroundTasks.js.map +1 -1
  4. package/dist/application/operations/jobManagement.d.ts.map +1 -1
  5. package/dist/application/operations/jobManagement.js +1 -0
  6. package/dist/application/operations/jobManagement.js.map +1 -1
  7. package/dist/application/queueManager.d.ts +8 -0
  8. package/dist/application/queueManager.d.ts.map +1 -1
  9. package/dist/application/queueManager.js +40 -0
  10. package/dist/application/queueManager.js.map +1 -1
  11. package/dist/client/queue/bullmqCompat.d.ts +46 -0
  12. package/dist/client/queue/bullmqCompat.d.ts.map +1 -0
  13. package/dist/client/queue/bullmqCompat.js +97 -0
  14. package/dist/client/queue/bullmqCompat.js.map +1 -0
  15. package/dist/client/queue/deduplication.d.ts +13 -0
  16. package/dist/client/queue/deduplication.d.ts.map +1 -0
  17. package/dist/client/queue/deduplication.js +24 -0
  18. package/dist/client/queue/deduplication.js.map +1 -0
  19. package/dist/client/queue/dlq.d.ts +31 -0
  20. package/dist/client/queue/dlq.d.ts.map +1 -0
  21. package/dist/client/queue/dlq.js +85 -0
  22. package/dist/client/queue/dlq.js.map +1 -0
  23. package/dist/client/queue/jobMove.d.ts +33 -0
  24. package/dist/client/queue/jobMove.d.ts.map +1 -0
  25. package/dist/client/queue/jobMove.js +113 -0
  26. package/dist/client/queue/jobMove.js.map +1 -0
  27. package/dist/client/queue/jobProxy.d.ts +28 -0
  28. package/dist/client/queue/jobProxy.d.ts.map +1 -0
  29. package/dist/client/queue/jobProxy.js +209 -0
  30. package/dist/client/queue/jobProxy.js.map +1 -0
  31. package/dist/client/queue/operations/add.d.ts +47 -0
  32. package/dist/client/queue/operations/add.d.ts.map +1 -0
  33. package/dist/client/queue/operations/add.js +226 -0
  34. package/dist/client/queue/operations/add.js.map +1 -0
  35. package/dist/client/queue/operations/control.d.ts +26 -0
  36. package/dist/client/queue/operations/control.d.ts.map +1 -0
  37. package/dist/client/queue/operations/control.js +56 -0
  38. package/dist/client/queue/operations/control.js.map +1 -0
  39. package/dist/client/queue/operations/counts.d.ts +40 -0
  40. package/dist/client/queue/operations/counts.d.ts.map +1 -0
  41. package/dist/client/queue/operations/counts.js +99 -0
  42. package/dist/client/queue/operations/counts.js.map +1 -0
  43. package/dist/client/queue/operations/index.d.ts +10 -0
  44. package/dist/client/queue/operations/index.d.ts.map +1 -0
  45. package/dist/client/queue/operations/index.js +10 -0
  46. package/dist/client/queue/operations/index.js.map +1 -0
  47. package/dist/client/queue/operations/management.d.ts +56 -0
  48. package/dist/client/queue/operations/management.d.ts.map +1 -0
  49. package/dist/client/queue/operations/management.js +181 -0
  50. package/dist/client/queue/operations/management.js.map +1 -0
  51. package/dist/client/queue/operations/query.d.ts +58 -0
  52. package/dist/client/queue/operations/query.d.ts.map +1 -0
  53. package/dist/client/queue/operations/query.js +191 -0
  54. package/dist/client/queue/operations/query.js.map +1 -0
  55. package/dist/client/queue/queue.d.ts +93 -272
  56. package/dist/client/queue/queue.d.ts.map +1 -1
  57. package/dist/client/queue/queue.js +297 -1599
  58. package/dist/client/queue/queue.js.map +1 -1
  59. package/dist/client/queue/queueTypes.d.ts +34 -0
  60. package/dist/client/queue/queueTypes.d.ts.map +1 -0
  61. package/dist/client/queue/queueTypes.js +6 -0
  62. package/dist/client/queue/queueTypes.js.map +1 -0
  63. package/dist/client/queue/rateLimit.d.ts +32 -0
  64. package/dist/client/queue/rateLimit.d.ts.map +1 -0
  65. package/dist/client/queue/rateLimit.js +69 -0
  66. package/dist/client/queue/rateLimit.js.map +1 -0
  67. package/dist/client/queue/scheduler.d.ts +44 -0
  68. package/dist/client/queue/scheduler.d.ts.map +1 -0
  69. package/dist/client/queue/scheduler.js +114 -0
  70. package/dist/client/queue/scheduler.js.map +1 -0
  71. package/dist/client/queue/stall.d.ts +15 -0
  72. package/dist/client/queue/stall.d.ts.map +1 -0
  73. package/dist/client/queue/stall.js +21 -0
  74. package/dist/client/queue/stall.js.map +1 -0
  75. package/dist/client/queue/workers.d.ts +29 -0
  76. package/dist/client/queue/workers.d.ts.map +1 -0
  77. package/dist/client/queue/workers.js +39 -0
  78. package/dist/client/queue/workers.js.map +1 -0
  79. package/dist/client/sandboxed/worker.d.ts.map +1 -1
  80. package/dist/client/sandboxed/worker.js +12 -1
  81. package/dist/client/sandboxed/worker.js.map +1 -1
  82. package/dist/infrastructure/persistence/sqlite.d.ts +21 -2
  83. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  84. package/dist/infrastructure/persistence/sqlite.js +35 -6
  85. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  86. package/dist/infrastructure/server/handlers/query.d.ts +1 -1
  87. package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
  88. package/dist/infrastructure/server/handlers/query.js +4 -11
  89. package/dist/infrastructure/server/handlers/query.js.map +1 -1
  90. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bullmqCompat.js","sourceRoot":"","sources":["../../../src/client/queue/bullmqCompat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Deduplication Operations
3
+ */
4
+ interface DeduplicationContext {
5
+ name: string;
6
+ embedded: boolean;
7
+ }
8
+ /** Get the job ID associated with a deduplication key */
9
+ export declare function getDeduplicationJobId(ctx: DeduplicationContext, deduplicationId: string): Promise<string | null>;
10
+ /** Remove a deduplication key */
11
+ export declare function removeDeduplicationKey(ctx: DeduplicationContext, deduplicationId: string): Promise<number>;
12
+ export {};
13
+ //# sourceMappingURL=deduplication.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.d.ts","sourceRoot":"","sources":["../../../src/client/queue/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,UAAU,oBAAoB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,oBAAoB,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,iCAAiC;AACjC,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,oBAAoB,EACzB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Deduplication Operations
3
+ */
4
+ import { getSharedManager } from '../manager';
5
+ /** Get the job ID associated with a deduplication key */
6
+ export function getDeduplicationJobId(ctx, deduplicationId) {
7
+ if (ctx.embedded) {
8
+ const job = getSharedManager().getJobByCustomId(deduplicationId);
9
+ return Promise.resolve(job ? String(job.id) : null);
10
+ }
11
+ return Promise.resolve(null);
12
+ }
13
+ /** Remove a deduplication key */
14
+ export function removeDeduplicationKey(ctx, deduplicationId) {
15
+ if (ctx.embedded) {
16
+ const job = getSharedManager().getJobByCustomId(deduplicationId);
17
+ if (job) {
18
+ return Promise.resolve(1);
19
+ }
20
+ return Promise.resolve(0);
21
+ }
22
+ return Promise.resolve(0);
23
+ }
24
+ //# sourceMappingURL=deduplication.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deduplication.js","sourceRoot":"","sources":["../../../src/client/queue/deduplication.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAO9C,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CACnC,GAAyB,EACzB,eAAuB;IAEvB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACjE,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,sBAAsB,CACpC,GAAyB,EACzB,eAAuB;IAEvB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,gBAAgB,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;QACjE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * DLQ Operations Wrapper
3
+ * Wraps dlqOps for Queue class usage
4
+ */
5
+ import type { TcpConnectionPool } from '../tcpPool';
6
+ import type { DlqConfig, DlqEntry, DlqStats, DlqFilter } from '../types';
7
+ interface DlqContext {
8
+ name: string;
9
+ embedded: boolean;
10
+ tcp: TcpConnectionPool | null;
11
+ }
12
+ /** Set DLQ configuration (embedded only) */
13
+ export declare function setDlqConfig(ctx: DlqContext, config: Partial<DlqConfig>): void;
14
+ /** Get DLQ configuration */
15
+ export declare function getDlqConfig(ctx: DlqContext): DlqConfig;
16
+ /** Get DLQ entries */
17
+ export declare function getDlq<T>(ctx: DlqContext, filter?: DlqFilter): DlqEntry<T>[];
18
+ /** Get DLQ stats */
19
+ export declare function getDlqStats(ctx: DlqContext): DlqStats;
20
+ /** Retry DLQ entries */
21
+ export declare function retryDlq(ctx: DlqContext, id?: string): number;
22
+ /** Retry DLQ entries by filter */
23
+ export declare function retryDlqByFilter(ctx: DlqContext, filter: DlqFilter): number;
24
+ /** Purge DLQ */
25
+ export declare function purgeDlq(ctx: DlqContext): number;
26
+ /** Retry completed job */
27
+ export declare function retryCompleted(ctx: DlqContext, id?: string): number;
28
+ /** Retry completed job (async) */
29
+ export declare function retryCompletedAsync(ctx: DlqContext, id?: string): Promise<number>;
30
+ export {};
31
+ //# sourceMappingURL=dlq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlq.d.ts","sourceRoot":"","sources":["../../../src/client/queue/dlq.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAIxF,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/B;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAM9E;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAGvD;AAED,sBAAsB;AACtB,wBAAgB,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAG5E;AAED,oBAAoB;AACpB,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,QAAQ,CAYrD;AAED,wBAAwB;AACxB,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7D;AAED,kCAAkC;AAClC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,GAAG,MAAM,CAG3E;AAED,gBAAgB;AAChB,wBAAgB,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAIhD;AAED,0BAA0B;AAC1B,wBAAgB,cAAc,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOnE;AAED,kCAAkC;AAClC,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAMvF"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * DLQ Operations Wrapper
3
+ * Wraps dlqOps for Queue class usage
4
+ */
5
+ import { getSharedManager } from '../manager';
6
+ import { jobId } from '../../domain/types/job';
7
+ import * as dlqOps from './dlqOps';
8
+ /** Set DLQ configuration (embedded only) */
9
+ export function setDlqConfig(ctx, config) {
10
+ if (!ctx.embedded) {
11
+ console.warn('setDlqConfig: embedded only');
12
+ return;
13
+ }
14
+ dlqOps.setDlqConfig(ctx.name, config);
15
+ }
16
+ /** Get DLQ configuration */
17
+ export function getDlqConfig(ctx) {
18
+ if (!ctx.embedded)
19
+ return {};
20
+ return dlqOps.getDlqConfigEmbedded(ctx.name);
21
+ }
22
+ /** Get DLQ entries */
23
+ export function getDlq(ctx, filter) {
24
+ if (!ctx.embedded)
25
+ return [];
26
+ return dlqOps.getDlqEntries(ctx.name, filter);
27
+ }
28
+ /** Get DLQ stats */
29
+ export function getDlqStats(ctx) {
30
+ if (!ctx.embedded) {
31
+ return {
32
+ total: 0,
33
+ byReason: {},
34
+ pendingRetry: 0,
35
+ expired: 0,
36
+ oldestEntry: null,
37
+ newestEntry: null,
38
+ };
39
+ }
40
+ return dlqOps.getDlqStatsEmbedded(ctx.name);
41
+ }
42
+ /** Retry DLQ entries */
43
+ export function retryDlq(ctx, id) {
44
+ if (ctx.embedded)
45
+ return dlqOps.retryDlqEmbedded(ctx.name, id);
46
+ if (ctx.tcp)
47
+ void ctx.tcp.send({ cmd: 'RetryDlq', queue: ctx.name, id });
48
+ return 0;
49
+ }
50
+ /** Retry DLQ entries by filter */
51
+ export function retryDlqByFilter(ctx, filter) {
52
+ if (!ctx.embedded)
53
+ return 0;
54
+ return dlqOps.retryDlqByFilterEmbedded(ctx.name, filter);
55
+ }
56
+ /** Purge DLQ */
57
+ export function purgeDlq(ctx) {
58
+ if (ctx.embedded)
59
+ return dlqOps.purgeDlqEmbedded(ctx.name);
60
+ if (ctx.tcp)
61
+ void ctx.tcp.send({ cmd: 'PurgeDlq', queue: ctx.name });
62
+ return 0;
63
+ }
64
+ /** Retry completed job */
65
+ export function retryCompleted(ctx, id) {
66
+ if (ctx.embedded) {
67
+ const jid = id ? jobId(id) : undefined;
68
+ return getSharedManager().retryCompleted(ctx.name, jid);
69
+ }
70
+ if (ctx.tcp)
71
+ void ctx.tcp.send({ cmd: 'RetryCompleted', queue: ctx.name, id });
72
+ return 0;
73
+ }
74
+ /** Retry completed job (async) */
75
+ export async function retryCompletedAsync(ctx, id) {
76
+ if (ctx.embedded)
77
+ return retryCompleted(ctx, id);
78
+ if (!ctx.tcp)
79
+ return 0;
80
+ const response = await ctx.tcp.send({ cmd: 'RetryCompleted', queue: ctx.name, id });
81
+ if (!response.ok)
82
+ return 0;
83
+ return (response.count ?? 0);
84
+ }
85
+ //# sourceMappingURL=dlq.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dlq.js","sourceRoot":"","sources":["../../../src/client/queue/dlq.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Job Move Operations (BullMQ v5 compatible)
3
+ */
4
+ import type { TcpConnectionPool } from '../tcpPool';
5
+ interface JobMoveContext {
6
+ name: string;
7
+ embedded: boolean;
8
+ tcp: TcpConnectionPool | null;
9
+ getJobState: (id: string) => Promise<'waiting' | 'delayed' | 'active' | 'completed' | 'failed' | 'unknown'>;
10
+ getJobDependencies: (id: string) => Promise<{
11
+ processed: Record<string, unknown>;
12
+ unprocessed: string[];
13
+ }>;
14
+ }
15
+ /** Move job to completed state */
16
+ export declare function moveJobToCompleted(ctx: JobMoveContext, id: string, returnValue: unknown, _token?: string): Promise<unknown>;
17
+ /** Move job to failed state */
18
+ export declare function moveJobToFailed(ctx: JobMoveContext, id: string, error: Error, _token?: string): Promise<void>;
19
+ /** Move job back to waiting state */
20
+ export declare function moveJobToWait(ctx: JobMoveContext, id: string, _token?: string): Promise<boolean>;
21
+ /** Move job to delayed state */
22
+ export declare function moveJobToDelayed(ctx: JobMoveContext, id: string, timestamp: number, _token?: string): Promise<void>;
23
+ /** Move job to waiting-children state */
24
+ export declare function moveJobToWaitingChildren(ctx: JobMoveContext, id: string, _token?: string, _opts?: {
25
+ child?: {
26
+ id: string;
27
+ queue: string;
28
+ };
29
+ }): Promise<boolean>;
30
+ /** Wait until job has finished */
31
+ export declare function waitJobUntilFinished(ctx: JobMoveContext, id: string, queueEvents: unknown, ttl?: number): Promise<unknown>;
32
+ export {};
33
+ //# sourceMappingURL=jobMove.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobMove.d.ts","sourceRoot":"","sources":["../../../src/client/queue/jobMove.ts"],"names":[],"mappings":"AACA;;GAEG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGpD,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,CACX,EAAE,EAAE,MAAM,KACP,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;IACpF,kBAAkB,EAAE,CAClB,EAAE,EAAE,MAAM,KACP,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC7E;AAED,kCAAkC;AAClC,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAOlB;AAED,+BAA+B;AAC/B,wBAAsB,eAAe,CACnC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,qCAAqC;AACrC,wBAAsB,aAAa,CACjC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED,gCAAgC;AAChC,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,yCAAyC;AACzC,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChD,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,kCAAkC;AAClC,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,cAAc,EACnB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,OAAO,EACpB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CA2DlB"}
@@ -0,0 +1,113 @@
1
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
+ /**
3
+ * Job Move Operations (BullMQ v5 compatible)
4
+ */
5
+ import { getSharedManager } from '../manager';
6
+ import { jobId } from '../../domain/types/job';
7
+ /** Move job to completed state */
8
+ export async function moveJobToCompleted(ctx, id, returnValue, _token) {
9
+ if (ctx.embedded) {
10
+ await getSharedManager().ack(jobId(id), returnValue);
11
+ return null;
12
+ }
13
+ await ctx.tcp.send({ cmd: 'ACK', id, result: returnValue });
14
+ return null;
15
+ }
16
+ /** Move job to failed state */
17
+ export async function moveJobToFailed(ctx, id, error, _token) {
18
+ if (ctx.embedded) {
19
+ await getSharedManager().fail(jobId(id), error.message);
20
+ }
21
+ else {
22
+ await ctx.tcp.send({ cmd: 'FAIL', id, error: error.message });
23
+ }
24
+ }
25
+ /** Move job back to waiting state */
26
+ export async function moveJobToWait(ctx, id, _token) {
27
+ if (ctx.embedded) {
28
+ const manager = getSharedManager();
29
+ const job = await manager.getJob(jobId(id));
30
+ if (!job)
31
+ return false;
32
+ await manager.push(job.queue, {
33
+ data: job.data,
34
+ priority: job.priority,
35
+ customId: job.customId ?? undefined,
36
+ });
37
+ return true;
38
+ }
39
+ const response = await ctx.tcp.send({ cmd: 'MoveToWait', id });
40
+ return response.ok === true;
41
+ }
42
+ /** Move job to delayed state */
43
+ export async function moveJobToDelayed(ctx, id, timestamp, _token) {
44
+ if (ctx.embedded) {
45
+ const delay = Math.max(0, timestamp - Date.now());
46
+ await getSharedManager().changeDelay(jobId(id), delay);
47
+ }
48
+ else {
49
+ await ctx.tcp.send({ cmd: 'MoveToDelayed', id, timestamp });
50
+ }
51
+ }
52
+ /** Move job to waiting-children state */
53
+ export async function moveJobToWaitingChildren(ctx, id, _token, _opts) {
54
+ if (ctx.embedded) {
55
+ const manager = getSharedManager();
56
+ const job = await manager.getJob(jobId(id));
57
+ if (!job)
58
+ return false;
59
+ const deps = await ctx.getJobDependencies(id);
60
+ return deps.unprocessed.length > 0;
61
+ }
62
+ return false;
63
+ }
64
+ /** Wait until job has finished */
65
+ export async function waitJobUntilFinished(ctx, id, queueEvents, ttl) {
66
+ return new Promise((resolve, reject) => {
67
+ const timeout = ttl
68
+ ? setTimeout(() => {
69
+ cleanup();
70
+ reject(new Error(`Job ${id} timed out after ${ttl}ms`));
71
+ }, ttl)
72
+ : null;
73
+ const events = queueEvents;
74
+ const completedHandler = (data) => {
75
+ if (data.jobId === id) {
76
+ cleanup();
77
+ resolve(data.returnvalue);
78
+ }
79
+ };
80
+ const failedHandler = (data) => {
81
+ if (data.jobId === id) {
82
+ cleanup();
83
+ reject(new Error(data.failedReason ?? 'Job failed'));
84
+ }
85
+ };
86
+ const cleanup = () => {
87
+ if (timeout)
88
+ clearTimeout(timeout);
89
+ events.off('completed', completedHandler);
90
+ events.off('failed', failedHandler);
91
+ };
92
+ events.on('completed', completedHandler);
93
+ events.on('failed', failedHandler);
94
+ // Check if job is already finished
95
+ void ctx.getJobState(id).then((state) => {
96
+ if (state === 'completed') {
97
+ cleanup();
98
+ if (ctx.embedded) {
99
+ const result = getSharedManager().getResult(jobId(id));
100
+ resolve(result);
101
+ }
102
+ else {
103
+ resolve(undefined);
104
+ }
105
+ }
106
+ else if (state === 'failed') {
107
+ cleanup();
108
+ reject(new Error('Job already failed'));
109
+ }
110
+ });
111
+ });
112
+ }
113
+ //# sourceMappingURL=jobMove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobMove.js","sourceRoot":"","sources":["../../../src/client/queue/jobMove.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Job Proxy
3
+ * Creates Job objects with methods for TCP and embedded modes
4
+ */
5
+ import type { Job } from '../types';
6
+ import type { TcpConnectionPool } from '../tcpPool';
7
+ import type { JobStateType } from '../types';
8
+ interface JobProxyContext {
9
+ queueName: string;
10
+ tcp: TcpConnectionPool;
11
+ getJobState: (id: string) => Promise<JobStateType>;
12
+ removeAsync: (id: string) => Promise<void>;
13
+ retryJob: (id: string) => Promise<void>;
14
+ getChildrenValues: (id: string) => Promise<Record<string, unknown>>;
15
+ }
16
+ /** Create a full Job proxy with TCP methods */
17
+ export declare function createJobProxy<T>(id: string, name: string, data: T, ctx: JobProxyContext): Job<T>;
18
+ interface SimpleJobContext {
19
+ queueName: string;
20
+ getJobState: (id: string) => Promise<JobStateType>;
21
+ removeAsync: (id: string) => Promise<void>;
22
+ retryJob: (id: string) => Promise<void>;
23
+ getChildrenValues: (id: string) => Promise<Record<string, unknown>>;
24
+ }
25
+ /** Create a simple Job without TCP methods (for embedded or read-only) */
26
+ export declare function createSimpleJob<T>(id: string, name: string, data: T, timestamp: number, ctx: SimpleJobContext): Job<T>;
27
+ export {};
28
+ //# sourceMappingURL=jobProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobProxy.d.ts","sourceRoot":"","sources":["../../../src/client/queue/jobProxy.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,iBAAiB,CAAC;IACvB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrE;AAED,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,CA0HjG;AAED,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAC;IACnD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrE;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,GAAG,CAAC,CAAC,CAAC,CA8FR"}
@@ -0,0 +1,209 @@
1
+ /**
2
+ * Job Proxy
3
+ * Creates Job objects with methods for TCP and embedded modes
4
+ */
5
+ /** Create a full Job proxy with TCP methods */
6
+ export function createJobProxy(id, name, data, ctx) {
7
+ const { tcp, queueName } = ctx;
8
+ const ts = Date.now();
9
+ return {
10
+ id,
11
+ name,
12
+ data,
13
+ queueName,
14
+ attemptsMade: 0,
15
+ timestamp: ts,
16
+ progress: 0,
17
+ delay: 0,
18
+ processedOn: undefined,
19
+ finishedOn: undefined,
20
+ stacktrace: null,
21
+ stalledCounter: 0,
22
+ priority: 0,
23
+ parentKey: undefined,
24
+ opts: {},
25
+ token: undefined,
26
+ processedBy: undefined,
27
+ deduplicationId: undefined,
28
+ repeatJobKey: undefined,
29
+ attemptsStarted: 0,
30
+ // Methods
31
+ updateProgress: async (progress, message) => {
32
+ await tcp.send({ cmd: 'Progress', id, progress, message });
33
+ },
34
+ log: async (message) => {
35
+ await tcp.send({ cmd: 'AddLog', id, message });
36
+ },
37
+ getState: () => ctx.getJobState(id),
38
+ remove: () => ctx.removeAsync(id),
39
+ retry: () => ctx.retryJob(id),
40
+ getChildrenValues: () => ctx.getChildrenValues(id),
41
+ // State check methods
42
+ isWaiting: async () => (await ctx.getJobState(id)) === 'waiting',
43
+ isActive: async () => (await ctx.getJobState(id)) === 'active',
44
+ isDelayed: async () => (await ctx.getJobState(id)) === 'delayed',
45
+ isCompleted: async () => (await ctx.getJobState(id)) === 'completed',
46
+ isFailed: async () => (await ctx.getJobState(id)) === 'failed',
47
+ isWaitingChildren: () => Promise.resolve(false),
48
+ // Mutation methods
49
+ updateData: async (newData) => {
50
+ await tcp.send({ cmd: 'Update', id, data: newData });
51
+ },
52
+ promote: async () => {
53
+ await tcp.send({ cmd: 'Promote', id });
54
+ },
55
+ changeDelay: async (delay) => {
56
+ await tcp.send({ cmd: 'ChangeDelay', id, delay });
57
+ },
58
+ changePriority: async (opts) => {
59
+ await tcp.send({ cmd: 'ChangePriority', id, priority: opts.priority });
60
+ },
61
+ extendLock: async (_token, duration) => {
62
+ const res = await tcp.send({ cmd: 'ExtendLock', id, duration });
63
+ return res.ok ? duration : 0;
64
+ },
65
+ clearLogs: async () => {
66
+ await tcp.send({ cmd: 'ClearLogs', id });
67
+ },
68
+ // Dependency methods
69
+ getDependencies: () => Promise.resolve({ processed: {}, unprocessed: [] }),
70
+ getDependenciesCount: () => Promise.resolve({ processed: 0, unprocessed: 0 }),
71
+ // Serialization methods
72
+ toJSON: () => ({
73
+ id,
74
+ name,
75
+ data,
76
+ opts: {},
77
+ progress: 0,
78
+ delay: 0,
79
+ timestamp: ts,
80
+ attemptsMade: 0,
81
+ stacktrace: null,
82
+ queueQualifiedName: `bull:${queueName}`,
83
+ }),
84
+ asJSON: () => ({
85
+ id,
86
+ name,
87
+ data: JSON.stringify(data),
88
+ opts: '{}',
89
+ progress: '0',
90
+ delay: '0',
91
+ timestamp: String(ts),
92
+ attemptsMade: '0',
93
+ stacktrace: null,
94
+ }),
95
+ // Move methods
96
+ moveToCompleted: async (returnValue) => {
97
+ await tcp.send({ cmd: 'ACK', id, result: returnValue });
98
+ return null;
99
+ },
100
+ moveToFailed: async (error) => {
101
+ await tcp.send({ cmd: 'FAIL', id, error: error.message });
102
+ },
103
+ moveToWait: async () => {
104
+ const res = await tcp.send({ cmd: 'MoveToWait', id });
105
+ return res.ok === true;
106
+ },
107
+ moveToDelayed: async (timestamp) => {
108
+ await tcp.send({ cmd: 'MoveToDelayed', id, timestamp });
109
+ },
110
+ moveToWaitingChildren: () => Promise.resolve(false),
111
+ waitUntilFinished: () => Promise.resolve(undefined),
112
+ // Additional methods
113
+ discard: () => { },
114
+ getFailedChildrenValues: () => Promise.resolve({}),
115
+ getIgnoredChildrenFailures: () => Promise.resolve({}),
116
+ removeChildDependency: () => Promise.resolve(false),
117
+ removeDeduplicationKey: () => Promise.resolve(false),
118
+ removeUnprocessedChildren: () => Promise.resolve(),
119
+ };
120
+ }
121
+ /** Create a simple Job without TCP methods (for embedded or read-only) */
122
+ export function createSimpleJob(id, name, data, timestamp, ctx) {
123
+ const { queueName } = ctx;
124
+ return {
125
+ id,
126
+ name,
127
+ data,
128
+ queueName,
129
+ attemptsMade: 0,
130
+ timestamp,
131
+ progress: 0,
132
+ delay: 0,
133
+ processedOn: undefined,
134
+ finishedOn: undefined,
135
+ stacktrace: null,
136
+ stalledCounter: 0,
137
+ priority: 0,
138
+ parentKey: undefined,
139
+ opts: {},
140
+ token: undefined,
141
+ processedBy: undefined,
142
+ deduplicationId: undefined,
143
+ repeatJobKey: undefined,
144
+ attemptsStarted: 0,
145
+ // Methods (no-op for simple jobs)
146
+ updateProgress: async () => { },
147
+ log: async () => { },
148
+ getState: () => ctx.getJobState(id),
149
+ remove: () => ctx.removeAsync(id),
150
+ retry: () => ctx.retryJob(id),
151
+ getChildrenValues: () => ctx.getChildrenValues(id),
152
+ // State check methods
153
+ isWaiting: async () => (await ctx.getJobState(id)) === 'waiting',
154
+ isActive: async () => (await ctx.getJobState(id)) === 'active',
155
+ isDelayed: async () => (await ctx.getJobState(id)) === 'delayed',
156
+ isCompleted: async () => (await ctx.getJobState(id)) === 'completed',
157
+ isFailed: async () => (await ctx.getJobState(id)) === 'failed',
158
+ isWaitingChildren: () => Promise.resolve(false),
159
+ // No-op mutation methods
160
+ updateData: async () => { },
161
+ promote: async () => { },
162
+ changeDelay: async () => { },
163
+ changePriority: async () => { },
164
+ extendLock: () => Promise.resolve(0),
165
+ clearLogs: async () => { },
166
+ // Dependency methods
167
+ getDependencies: () => Promise.resolve({ processed: {}, unprocessed: [] }),
168
+ getDependenciesCount: () => Promise.resolve({ processed: 0, unprocessed: 0 }),
169
+ // Serialization methods
170
+ toJSON: () => ({
171
+ id,
172
+ name,
173
+ data,
174
+ opts: {},
175
+ progress: 0,
176
+ delay: 0,
177
+ timestamp,
178
+ attemptsMade: 0,
179
+ stacktrace: null,
180
+ queueQualifiedName: `bull:${queueName}`,
181
+ }),
182
+ asJSON: () => ({
183
+ id,
184
+ name,
185
+ data: JSON.stringify(data),
186
+ opts: '{}',
187
+ progress: '0',
188
+ delay: '0',
189
+ timestamp: String(timestamp),
190
+ attemptsMade: '0',
191
+ stacktrace: null,
192
+ }),
193
+ // Move methods (no-op)
194
+ moveToCompleted: () => Promise.resolve(null),
195
+ moveToFailed: () => Promise.resolve(),
196
+ moveToWait: () => Promise.resolve(false),
197
+ moveToDelayed: () => Promise.resolve(),
198
+ moveToWaitingChildren: () => Promise.resolve(false),
199
+ waitUntilFinished: () => Promise.resolve(undefined),
200
+ // Additional methods
201
+ discard: () => { },
202
+ getFailedChildrenValues: () => Promise.resolve({}),
203
+ getIgnoredChildrenFailures: () => Promise.resolve({}),
204
+ removeChildDependency: () => Promise.resolve(false),
205
+ removeDeduplicationKey: () => Promise.resolve(false),
206
+ removeUnprocessedChildren: () => Promise.resolve(),
207
+ };
208
+ }
209
+ //# sourceMappingURL=jobProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobProxy.js","sourceRoot":"","sources":["../../../src/client/queue/jobProxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Queue Add Operations
3
+ * add, addBulk methods
4
+ */
5
+ import type { TcpConnectionPool } from '../../tcpPool';
6
+ import type { Job, JobOptions, QueueOptions, JobStateType, GetDependenciesOpts, JobDependencies, JobDependenciesCount } from '../../types';
7
+ interface AddContext {
8
+ name: string;
9
+ opts: QueueOptions;
10
+ embedded: boolean;
11
+ tcp: TcpConnectionPool | null;
12
+ getJobState: (id: string) => Promise<JobStateType>;
13
+ removeAsync: (id: string) => Promise<void>;
14
+ retryJob: (id: string) => Promise<void>;
15
+ getChildrenValues: (id: string) => Promise<Record<string, unknown>>;
16
+ updateJobData: (id: string, data: unknown) => Promise<void>;
17
+ promoteJob: (id: string) => Promise<void>;
18
+ changeJobDelay: (id: string, delay: number) => Promise<void>;
19
+ changeJobPriority: (id: string, opts: {
20
+ priority: number;
21
+ }) => Promise<void>;
22
+ extendJobLock: (id: string, token: string, duration: number) => Promise<number>;
23
+ clearJobLogs: (id: string, keepLogs?: number) => Promise<void>;
24
+ getJobDependencies: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependencies>;
25
+ getJobDependenciesCount: (id: string, opts?: GetDependenciesOpts) => Promise<JobDependenciesCount>;
26
+ moveJobToCompleted: (id: string, result: unknown, token?: string) => Promise<unknown>;
27
+ moveJobToFailed: (id: string, error: Error, token?: string) => Promise<void>;
28
+ moveJobToWait: (id: string, token?: string) => Promise<boolean>;
29
+ moveJobToDelayed: (id: string, timestamp: number, token?: string) => Promise<void>;
30
+ moveJobToWaitingChildren: (id: string, token?: string, opts?: {
31
+ child?: {
32
+ id: string;
33
+ queue: string;
34
+ };
35
+ }) => Promise<boolean>;
36
+ waitJobUntilFinished: (id: string, queueEvents: unknown, ttl?: number) => Promise<unknown>;
37
+ }
38
+ /** Add a single job */
39
+ export declare function add<T>(ctx: AddContext, jobName: string, data: T, opts?: JobOptions): Promise<Job<T>>;
40
+ /** Add multiple jobs in bulk */
41
+ export declare function addBulk<T>(ctx: AddContext, jobs: Array<{
42
+ name: string;
43
+ data: T;
44
+ opts?: JobOptions;
45
+ }>): Promise<Job<T>[]>;
46
+ export {};
47
+ //# sourceMappingURL=add.d.ts.map