bunqueue 2.0.2 → 2.0.4

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 (166) 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/application/webhookManager.js +3 -3
  12. package/dist/application/webhookManager.js.map +1 -1
  13. package/dist/application/workerManager.js +2 -2
  14. package/dist/application/workerManager.js.map +1 -1
  15. package/dist/cli/commands/backup.js +1 -1
  16. package/dist/cli/commands/backup.js.map +1 -1
  17. package/dist/cli/commands/server.js +10 -10
  18. package/dist/cli/commands/server.js.map +1 -1
  19. package/dist/cli/output.d.ts.map +1 -1
  20. package/dist/cli/output.js +15 -9
  21. package/dist/cli/output.js.map +1 -1
  22. package/dist/client/flow.d.ts +20 -175
  23. package/dist/client/flow.d.ts.map +1 -1
  24. package/dist/client/flow.js +122 -475
  25. package/dist/client/flow.js.map +1 -1
  26. package/dist/client/flowJobFactory.d.ts +10 -0
  27. package/dist/client/flowJobFactory.d.ts.map +1 -0
  28. package/dist/client/flowJobFactory.js +104 -0
  29. package/dist/client/flowJobFactory.js.map +1 -0
  30. package/dist/client/flowPush.d.ts +27 -0
  31. package/dist/client/flowPush.d.ts.map +1 -0
  32. package/dist/client/flowPush.js +129 -0
  33. package/dist/client/flowPush.js.map +1 -0
  34. package/dist/client/flowTypes.d.ts +70 -0
  35. package/dist/client/flowTypes.d.ts.map +1 -0
  36. package/dist/client/flowTypes.js +6 -0
  37. package/dist/client/flowTypes.js.map +1 -0
  38. package/dist/client/jobConversion.d.ts +88 -0
  39. package/dist/client/jobConversion.d.ts.map +1 -0
  40. package/dist/client/jobConversion.js +235 -0
  41. package/dist/client/jobConversion.js.map +1 -0
  42. package/dist/client/jobHelpers.d.ts +27 -0
  43. package/dist/client/jobHelpers.d.ts.map +1 -0
  44. package/dist/client/jobHelpers.js +113 -0
  45. package/dist/client/jobHelpers.js.map +1 -0
  46. package/dist/client/manager.js +1 -1
  47. package/dist/client/manager.js.map +1 -1
  48. package/dist/client/queue/bullmqCompat.d.ts +46 -0
  49. package/dist/client/queue/bullmqCompat.d.ts.map +1 -0
  50. package/dist/client/queue/bullmqCompat.js +97 -0
  51. package/dist/client/queue/bullmqCompat.js.map +1 -0
  52. package/dist/client/queue/deduplication.d.ts +13 -0
  53. package/dist/client/queue/deduplication.d.ts.map +1 -0
  54. package/dist/client/queue/deduplication.js +24 -0
  55. package/dist/client/queue/deduplication.js.map +1 -0
  56. package/dist/client/queue/dlq.d.ts +31 -0
  57. package/dist/client/queue/dlq.d.ts.map +1 -0
  58. package/dist/client/queue/dlq.js +85 -0
  59. package/dist/client/queue/dlq.js.map +1 -0
  60. package/dist/client/queue/helpers.d.ts.map +1 -1
  61. package/dist/client/queue/helpers.js +1 -1
  62. package/dist/client/queue/helpers.js.map +1 -1
  63. package/dist/client/queue/jobMove.d.ts +33 -0
  64. package/dist/client/queue/jobMove.d.ts.map +1 -0
  65. package/dist/client/queue/jobMove.js +113 -0
  66. package/dist/client/queue/jobMove.js.map +1 -0
  67. package/dist/client/queue/jobProxy.d.ts +28 -0
  68. package/dist/client/queue/jobProxy.d.ts.map +1 -0
  69. package/dist/client/queue/jobProxy.js +209 -0
  70. package/dist/client/queue/jobProxy.js.map +1 -0
  71. package/dist/client/queue/operations/add.d.ts +47 -0
  72. package/dist/client/queue/operations/add.d.ts.map +1 -0
  73. package/dist/client/queue/operations/add.js +226 -0
  74. package/dist/client/queue/operations/add.js.map +1 -0
  75. package/dist/client/queue/operations/control.d.ts +26 -0
  76. package/dist/client/queue/operations/control.d.ts.map +1 -0
  77. package/dist/client/queue/operations/control.js +56 -0
  78. package/dist/client/queue/operations/control.js.map +1 -0
  79. package/dist/client/queue/operations/counts.d.ts +40 -0
  80. package/dist/client/queue/operations/counts.d.ts.map +1 -0
  81. package/dist/client/queue/operations/counts.js +99 -0
  82. package/dist/client/queue/operations/counts.js.map +1 -0
  83. package/dist/client/queue/operations/index.d.ts +10 -0
  84. package/dist/client/queue/operations/index.d.ts.map +1 -0
  85. package/dist/client/queue/operations/index.js +10 -0
  86. package/dist/client/queue/operations/index.js.map +1 -0
  87. package/dist/client/queue/operations/management.d.ts +56 -0
  88. package/dist/client/queue/operations/management.d.ts.map +1 -0
  89. package/dist/client/queue/operations/management.js +181 -0
  90. package/dist/client/queue/operations/management.js.map +1 -0
  91. package/dist/client/queue/operations/query.d.ts +58 -0
  92. package/dist/client/queue/operations/query.d.ts.map +1 -0
  93. package/dist/client/queue/operations/query.js +191 -0
  94. package/dist/client/queue/operations/query.js.map +1 -0
  95. package/dist/client/queue/queue.d.ts +93 -272
  96. package/dist/client/queue/queue.d.ts.map +1 -1
  97. package/dist/client/queue/queue.js +297 -1599
  98. package/dist/client/queue/queue.js.map +1 -1
  99. package/dist/client/queue/queueTypes.d.ts +34 -0
  100. package/dist/client/queue/queueTypes.d.ts.map +1 -0
  101. package/dist/client/queue/queueTypes.js +6 -0
  102. package/dist/client/queue/queueTypes.js.map +1 -0
  103. package/dist/client/queue/rateLimit.d.ts +32 -0
  104. package/dist/client/queue/rateLimit.d.ts.map +1 -0
  105. package/dist/client/queue/rateLimit.js +69 -0
  106. package/dist/client/queue/rateLimit.js.map +1 -0
  107. package/dist/client/queue/scheduler.d.ts +44 -0
  108. package/dist/client/queue/scheduler.d.ts.map +1 -0
  109. package/dist/client/queue/scheduler.js +114 -0
  110. package/dist/client/queue/scheduler.js.map +1 -0
  111. package/dist/client/queue/stall.d.ts +15 -0
  112. package/dist/client/queue/stall.d.ts.map +1 -0
  113. package/dist/client/queue/stall.js +21 -0
  114. package/dist/client/queue/stall.js.map +1 -0
  115. package/dist/client/queue/workers.d.ts +29 -0
  116. package/dist/client/queue/workers.d.ts.map +1 -0
  117. package/dist/client/queue/workers.js +39 -0
  118. package/dist/client/queue/workers.js.map +1 -0
  119. package/dist/client/sandboxed/worker.d.ts +1 -1
  120. package/dist/client/sandboxed/worker.d.ts.map +1 -1
  121. package/dist/client/sandboxed/worker.js +15 -4
  122. package/dist/client/sandboxed/worker.js.map +1 -1
  123. package/dist/client/sandboxed/wrapper.d.ts +2 -2
  124. package/dist/client/sandboxed/wrapper.d.ts.map +1 -1
  125. package/dist/client/sandboxed/wrapper.js +20 -17
  126. package/dist/client/sandboxed/wrapper.js.map +1 -1
  127. package/dist/client/types.d.ts +3 -82
  128. package/dist/client/types.d.ts.map +1 -1
  129. package/dist/client/types.js +3 -401
  130. package/dist/client/types.js.map +1 -1
  131. package/dist/client/worker/ackBatcher.js +1 -1
  132. package/dist/client/worker/ackBatcher.js.map +1 -1
  133. package/dist/client/worker/types.d.ts.map +1 -1
  134. package/dist/client/worker/types.js +1 -1
  135. package/dist/client/worker/types.js.map +1 -1
  136. package/dist/client/worker/worker.js +2 -2
  137. package/dist/client/worker/worker.js.map +1 -1
  138. package/dist/infrastructure/backup/s3BackupConfig.d.ts +5 -0
  139. package/dist/infrastructure/backup/s3BackupConfig.d.ts.map +1 -1
  140. package/dist/infrastructure/backup/s3BackupConfig.js +9 -9
  141. package/dist/infrastructure/backup/s3BackupConfig.js.map +1 -1
  142. package/dist/infrastructure/backup/s3BackupOperations.d.ts.map +1 -1
  143. package/dist/infrastructure/backup/s3BackupOperations.js +35 -13
  144. package/dist/infrastructure/backup/s3BackupOperations.js.map +1 -1
  145. package/dist/infrastructure/persistence/sqlite.d.ts +21 -2
  146. package/dist/infrastructure/persistence/sqlite.d.ts.map +1 -1
  147. package/dist/infrastructure/persistence/sqlite.js +35 -6
  148. package/dist/infrastructure/persistence/sqlite.js.map +1 -1
  149. package/dist/infrastructure/server/handlers/query.d.ts +1 -1
  150. package/dist/infrastructure/server/handlers/query.d.ts.map +1 -1
  151. package/dist/infrastructure/server/handlers/query.js +4 -11
  152. package/dist/infrastructure/server/handlers/query.js.map +1 -1
  153. package/dist/infrastructure/server/rateLimiter.js +4 -4
  154. package/dist/infrastructure/server/rateLimiter.js.map +1 -1
  155. package/dist/infrastructure/server/tcp.js +1 -1
  156. package/dist/infrastructure/server/tcp.js.map +1 -1
  157. package/dist/main.js +15 -16
  158. package/dist/main.js.map +1 -1
  159. package/dist/mcp/index.js +1 -1
  160. package/dist/mcp/index.js.map +1 -1
  161. package/dist/shared/hash.d.ts.map +1 -1
  162. package/dist/shared/hash.js +1 -2
  163. package/dist/shared/hash.js.map +1 -1
  164. package/dist/shared/lock.js +1 -1
  165. package/dist/shared/lock.js.map +1 -1
  166. package/package.json +1 -1
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,cAAc,SAAwC,CAAC;AAYpE,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAG3F;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAK7F;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAGzF;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAE3F"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACtF,OAAO,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,KAAK,MAAM,MAAM,8BAA8B,CAAC;AAE5D,0DAA0D;AAC1D,eAAO,MAAM,cAAc,SAAoC,CAAC;AAYhE,kDAAkD;AAClD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,CAG3F;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAK7F;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAGzF;AAED,iDAAiD;AACjD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAE3F"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { shardIndex } from '../../shared/hash';
6
6
  /** Check if embedded mode should be forced (for tests) */
7
- export const FORCE_EMBEDDED = process.env.BUNQUEUE_EMBEDDED === '1';
7
+ export const FORCE_EMBEDDED = Bun.env.BUNQUEUE_EMBEDDED === '1';
8
8
  /** Extract shards from manager (embedded mode only, accesses private property) */
9
9
  function getShards(manager) {
10
10
  return manager.shards;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC;AAOpE,kFAAkF;AAClF,SAAS,SAAS,CAAC,OAA4C;IAC7D,OAAQ,OAAuC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CAAC,OAA4C,EAAE,KAAa;IAClF,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,OAA4C;IACxE,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAA8B,CAAC;AACxC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,OAAO,MAAkC,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/client/queue/helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAM/C,0DAA0D;AAC1D,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,CAAC;AAOhE,kFAAkF;AAClF,SAAS,SAAS,CAAC,OAA4C;IAC7D,OAAQ,OAAuC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,kDAAkD;AAClD,MAAM,UAAU,QAAQ,CAAC,OAA4C,EAAE,KAAa;IAClF,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,aAAa,CAAC,OAA4C;IACxE,OAAO;QACL,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;QAC1B,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE;KAChC,CAAC;AACJ,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,cAAc,CAAC,MAAmC;IAChE,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,MAA8B,CAAC;AACxC,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,iBAAiB,CAAC,MAA+B;IAC/D,OAAO,MAAkC,CAAC;AAC5C,CAAC"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../../src/client/queue/operations/add.ts"],"names":[],"mappings":"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"}