bunqueue 1.9.1 → 1.9.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 (165) hide show
  1. package/dist/application/operations/queueControl.d.ts.map +1 -1
  2. package/dist/application/operations/queueControl.js +6 -1
  3. package/dist/application/operations/queueControl.js.map +1 -1
  4. package/dist/application/queueManager.d.ts +115 -9
  5. package/dist/application/queueManager.d.ts.map +1 -1
  6. package/dist/application/queueManager.js +535 -26
  7. package/dist/application/queueManager.js.map +1 -1
  8. package/dist/cli/client.d.ts +6 -0
  9. package/dist/cli/client.d.ts.map +1 -1
  10. package/dist/cli/client.js +60 -48
  11. package/dist/cli/client.js.map +1 -1
  12. package/dist/cli/commands/server.d.ts.map +1 -1
  13. package/dist/cli/commands/server.js +30 -14
  14. package/dist/cli/commands/server.js.map +1 -1
  15. package/dist/cli/help.d.ts.map +1 -1
  16. package/dist/cli/help.js +10 -6
  17. package/dist/cli/help.js.map +1 -1
  18. package/dist/cli/index.d.ts.map +1 -1
  19. package/dist/cli/index.js +15 -2
  20. package/dist/cli/index.js.map +1 -1
  21. package/dist/client/queue/dlqOps.d.ts +24 -0
  22. package/dist/client/queue/dlqOps.d.ts.map +1 -0
  23. package/dist/client/queue/dlqOps.js +73 -0
  24. package/dist/client/queue/dlqOps.js.map +1 -0
  25. package/dist/client/queue/helpers.d.ts +20 -0
  26. package/dist/client/queue/helpers.d.ts.map +1 -0
  27. package/dist/client/queue/helpers.js +34 -0
  28. package/dist/client/queue/helpers.js.map +1 -0
  29. package/dist/client/queue/index.d.ts +8 -0
  30. package/dist/client/queue/index.d.ts.map +1 -0
  31. package/dist/client/queue/index.js +8 -0
  32. package/dist/client/queue/index.js.map +1 -0
  33. package/dist/client/queue/queue.d.ts +60 -0
  34. package/dist/client/queue/queue.d.ts.map +1 -0
  35. package/dist/client/queue/queue.js +322 -0
  36. package/dist/client/queue/queue.js.map +1 -0
  37. package/dist/client/queue.d.ts +3 -78
  38. package/dist/client/queue.d.ts.map +1 -1
  39. package/dist/client/queue.js +3 -463
  40. package/dist/client/queue.js.map +1 -1
  41. package/dist/client/sandboxed/index.d.ts +8 -0
  42. package/dist/client/sandboxed/index.d.ts.map +1 -0
  43. package/dist/client/sandboxed/index.js +7 -0
  44. package/dist/client/sandboxed/index.js.map +1 -0
  45. package/dist/client/sandboxed/types.d.ts +62 -0
  46. package/dist/client/sandboxed/types.d.ts.map +1 -0
  47. package/dist/client/sandboxed/types.js +6 -0
  48. package/dist/client/sandboxed/types.js.map +1 -0
  49. package/dist/client/sandboxed/worker.d.ts +38 -0
  50. package/dist/client/sandboxed/worker.d.ts.map +1 -0
  51. package/dist/client/sandboxed/worker.js +176 -0
  52. package/dist/client/sandboxed/worker.js.map +1 -0
  53. package/dist/client/sandboxed/wrapper.d.ts +13 -0
  54. package/dist/client/sandboxed/wrapper.d.ts.map +1 -0
  55. package/dist/client/sandboxed/wrapper.js +65 -0
  56. package/dist/client/sandboxed/wrapper.js.map +1 -0
  57. package/dist/client/sandboxedWorker.d.ts +4 -87
  58. package/dist/client/sandboxedWorker.d.ts.map +1 -1
  59. package/dist/client/sandboxedWorker.js +3 -296
  60. package/dist/client/sandboxedWorker.js.map +1 -1
  61. package/dist/client/tcp/client.d.ts +40 -0
  62. package/dist/client/tcp/client.d.ts.map +1 -0
  63. package/dist/client/tcp/client.js +289 -0
  64. package/dist/client/tcp/client.js.map +1 -0
  65. package/dist/client/tcp/connection.d.ts +57 -0
  66. package/dist/client/tcp/connection.d.ts.map +1 -0
  67. package/dist/client/tcp/connection.js +162 -0
  68. package/dist/client/tcp/connection.js.map +1 -0
  69. package/dist/client/tcp/health.d.ts +47 -0
  70. package/dist/client/tcp/health.d.ts.map +1 -0
  71. package/dist/client/tcp/health.js +95 -0
  72. package/dist/client/tcp/health.js.map +1 -0
  73. package/dist/client/tcp/index.d.ts +13 -0
  74. package/dist/client/tcp/index.d.ts.map +1 -0
  75. package/dist/client/tcp/index.js +12 -0
  76. package/dist/client/tcp/index.js.map +1 -0
  77. package/dist/client/tcp/lineBuffer.d.ts +17 -0
  78. package/dist/client/tcp/lineBuffer.d.ts.map +1 -0
  79. package/dist/client/tcp/lineBuffer.js +32 -0
  80. package/dist/client/tcp/lineBuffer.js.map +1 -0
  81. package/dist/client/tcp/reconnect.d.ts +38 -0
  82. package/dist/client/tcp/reconnect.d.ts.map +1 -0
  83. package/dist/client/tcp/reconnect.js +70 -0
  84. package/dist/client/tcp/reconnect.js.map +1 -0
  85. package/dist/client/tcp/shared.d.ts +11 -0
  86. package/dist/client/tcp/shared.d.ts.map +1 -0
  87. package/dist/client/tcp/shared.js +20 -0
  88. package/dist/client/tcp/shared.js.map +1 -0
  89. package/dist/client/tcp/types.d.ts +76 -0
  90. package/dist/client/tcp/types.d.ts.map +1 -0
  91. package/dist/client/tcp/types.js +20 -0
  92. package/dist/client/tcp/types.js.map +1 -0
  93. package/dist/client/tcpClient.d.ts +4 -110
  94. package/dist/client/tcpClient.d.ts.map +1 -1
  95. package/dist/client/tcpClient.js +3 -523
  96. package/dist/client/tcpClient.js.map +1 -1
  97. package/dist/client/tcpPool.d.ts +3 -0
  98. package/dist/client/tcpPool.d.ts.map +1 -1
  99. package/dist/client/tcpPool.js +21 -2
  100. package/dist/client/tcpPool.js.map +1 -1
  101. package/dist/client/types.d.ts +11 -2
  102. package/dist/client/types.d.ts.map +1 -1
  103. package/dist/client/types.js.map +1 -1
  104. package/dist/client/worker/ackBatcher.d.ts +40 -0
  105. package/dist/client/worker/ackBatcher.d.ts.map +1 -0
  106. package/dist/client/worker/ackBatcher.js +137 -0
  107. package/dist/client/worker/ackBatcher.js.map +1 -0
  108. package/dist/client/worker/index.d.ts +11 -0
  109. package/dist/client/worker/index.d.ts.map +1 -0
  110. package/dist/client/worker/index.js +10 -0
  111. package/dist/client/worker/index.js.map +1 -0
  112. package/dist/client/worker/jobParser.d.ts +10 -0
  113. package/dist/client/worker/jobParser.d.ts.map +1 -0
  114. package/dist/client/worker/jobParser.js +43 -0
  115. package/dist/client/worker/jobParser.js.map +1 -0
  116. package/dist/client/worker/processor.d.ts +24 -0
  117. package/dist/client/worker/processor.d.ts.map +1 -0
  118. package/dist/client/worker/processor.js +86 -0
  119. package/dist/client/worker/processor.js.map +1 -0
  120. package/dist/client/worker/types.d.ts +38 -0
  121. package/dist/client/worker/types.d.ts.map +1 -0
  122. package/dist/client/worker/types.js +14 -0
  123. package/dist/client/worker/types.js.map +1 -0
  124. package/dist/client/worker/worker.d.ts +53 -0
  125. package/dist/client/worker/worker.d.ts.map +1 -0
  126. package/dist/client/worker/worker.js +367 -0
  127. package/dist/client/worker/worker.js.map +1 -0
  128. package/dist/client/worker.d.ts +3 -69
  129. package/dist/client/worker.d.ts.map +1 -1
  130. package/dist/client/worker.js +3 -472
  131. package/dist/client/worker.js.map +1 -1
  132. package/dist/domain/queue/shard.d.ts +19 -2
  133. package/dist/domain/queue/shard.d.ts.map +1 -1
  134. package/dist/domain/queue/shard.js +36 -4
  135. package/dist/domain/queue/shard.js.map +1 -1
  136. package/dist/domain/types/command.d.ts +9 -0
  137. package/dist/domain/types/command.d.ts.map +1 -1
  138. package/dist/domain/types/job.d.ts +27 -0
  139. package/dist/domain/types/job.d.ts.map +1 -1
  140. package/dist/domain/types/job.js +34 -0
  141. package/dist/domain/types/job.js.map +1 -1
  142. package/dist/domain/types/response.d.ts +15 -1
  143. package/dist/domain/types/response.d.ts.map +1 -1
  144. package/dist/domain/types/response.js +16 -0
  145. package/dist/domain/types/response.js.map +1 -1
  146. package/dist/infrastructure/server/handlers/core.d.ts +1 -1
  147. package/dist/infrastructure/server/handlers/core.d.ts.map +1 -1
  148. package/dist/infrastructure/server/handlers/core.js +74 -15
  149. package/dist/infrastructure/server/handlers/core.js.map +1 -1
  150. package/dist/infrastructure/server/handlers/monitoring.d.ts.map +1 -1
  151. package/dist/infrastructure/server/handlers/monitoring.js +6 -4
  152. package/dist/infrastructure/server/handlers/monitoring.js.map +1 -1
  153. package/dist/infrastructure/server/http.d.ts +10 -3
  154. package/dist/infrastructure/server/http.d.ts.map +1 -1
  155. package/dist/infrastructure/server/http.js +244 -163
  156. package/dist/infrastructure/server/http.js.map +1 -1
  157. package/dist/infrastructure/server/tcp.d.ts +8 -3
  158. package/dist/infrastructure/server/tcp.d.ts.map +1 -1
  159. package/dist/infrastructure/server/tcp.js +77 -57
  160. package/dist/infrastructure/server/tcp.js.map +1 -1
  161. package/dist/infrastructure/server/types.d.ts +2 -0
  162. package/dist/infrastructure/server/types.d.ts.map +1 -1
  163. package/dist/main.js +24 -4
  164. package/dist/main.js.map +1 -1
  165. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/client/sandboxed/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,6CAA6C;AAC7C,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;CACzB;AAED,sCAAsC;AACtC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE;QACH,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,OAAO,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,sCAAsC;AACtC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Sandboxed Worker Types
3
+ * Type definitions for sandboxed worker processes
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/client/sandboxed/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Sandboxed Worker
3
+ * Runs job processors in isolated Bun Worker processes
4
+ */
5
+ import type { SandboxedWorkerOptions } from './types';
6
+ /**
7
+ * Sandboxed Worker - runs processors in isolated Bun Worker processes
8
+ */
9
+ export declare class SandboxedWorker {
10
+ private readonly queueName;
11
+ private readonly options;
12
+ private readonly workers;
13
+ private running;
14
+ private pullPromise;
15
+ private wrapperPath;
16
+ private readonly manager;
17
+ constructor(queueName: string, options: SandboxedWorkerOptions);
18
+ /** Start the sandboxed worker pool */
19
+ start(): void;
20
+ /** Stop all workers gracefully */
21
+ stop(): Promise<void>;
22
+ /** Get worker pool stats */
23
+ getStats(): {
24
+ total: number;
25
+ busy: number;
26
+ idle: number;
27
+ restarts: number;
28
+ };
29
+ private spawnWorker;
30
+ private pullLoop;
31
+ private dispatch;
32
+ private handleMessage;
33
+ private complete;
34
+ private fail;
35
+ private handleTimeout;
36
+ private handleCrash;
37
+ }
38
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/client/sandboxed/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,sBAAsB,EAKvB,MAAM,SAAS,CAAC;AAGjB;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAc9D,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAWb,kCAAkC;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B,4BAA4B;IAC5B,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAM3E,OAAO,CAAC,WAAW;YAwBL,QAAQ;IAatB,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,IAAI;IAeZ,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,WAAW;CAgBpB"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Sandboxed Worker
3
+ * Runs job processors in isolated Bun Worker processes
4
+ */
5
+ import { getSharedManager } from '../manager';
6
+ import { createWrapperScript, cleanupWrapperScript } from './wrapper';
7
+ /**
8
+ * Sandboxed Worker - runs processors in isolated Bun Worker processes
9
+ */
10
+ export class SandboxedWorker {
11
+ queueName;
12
+ options;
13
+ workers = [];
14
+ running = false;
15
+ pullPromise = null;
16
+ wrapperPath = null;
17
+ manager;
18
+ constructor(queueName, options) {
19
+ this.queueName = queueName;
20
+ this.manager = options.manager ?? getSharedManager();
21
+ this.options = {
22
+ processor: options.processor,
23
+ concurrency: options.concurrency ?? 1,
24
+ maxMemory: options.maxMemory ?? 256,
25
+ timeout: options.timeout ?? 30000,
26
+ autoRestart: options.autoRestart ?? true,
27
+ maxRestarts: options.maxRestarts ?? 10,
28
+ pollInterval: options.pollInterval ?? 10,
29
+ };
30
+ }
31
+ /** Start the sandboxed worker pool */
32
+ start() {
33
+ if (this.running)
34
+ return;
35
+ this.running = true;
36
+ this.wrapperPath = createWrapperScript(this.queueName, this.options.processor);
37
+ for (let i = 0; i < this.options.concurrency; i++) {
38
+ this.spawnWorker(i);
39
+ }
40
+ this.pullPromise = this.pullLoop();
41
+ }
42
+ /** Stop all workers gracefully */
43
+ async stop() {
44
+ this.running = false;
45
+ for (const wp of this.workers) {
46
+ if (wp.timeoutId)
47
+ clearTimeout(wp.timeoutId);
48
+ wp.worker.terminate();
49
+ }
50
+ this.workers.length = 0;
51
+ if (this.pullPromise)
52
+ await this.pullPromise;
53
+ cleanupWrapperScript(this.wrapperPath);
54
+ }
55
+ /** Get worker pool stats */
56
+ getStats() {
57
+ const busy = this.workers.filter((w) => w.busy).length;
58
+ const restarts = this.workers.reduce((sum, w) => sum + w.restarts, 0);
59
+ return { total: this.workers.length, busy, idle: this.workers.length - busy, restarts };
60
+ }
61
+ spawnWorker(index) {
62
+ if (!this.wrapperPath)
63
+ return;
64
+ const worker = new Worker(this.wrapperPath, { smol: this.options.maxMemory <= 64 });
65
+ const wp = {
66
+ worker,
67
+ busy: false,
68
+ currentJob: null,
69
+ restarts: this.workers[index]?.restarts ?? 0,
70
+ timeoutId: null,
71
+ };
72
+ worker.onmessage = (event) => {
73
+ this.handleMessage(wp, event.data);
74
+ };
75
+ worker.onerror = (error) => {
76
+ console.error(`[SandboxedWorker] Worker ${index} error:`, error.message);
77
+ this.handleCrash(wp, index);
78
+ };
79
+ if (this.workers[index])
80
+ this.workers[index] = wp;
81
+ else
82
+ this.workers.push(wp);
83
+ }
84
+ async pullLoop() {
85
+ while (this.running) {
86
+ const idle = this.workers.find((w) => !w.busy);
87
+ if (!idle) {
88
+ await Bun.sleep(this.options.pollInterval);
89
+ continue;
90
+ }
91
+ const job = await this.manager.pull(this.queueName, 1000);
92
+ if (job)
93
+ this.dispatch(idle, job);
94
+ }
95
+ }
96
+ dispatch(wp, job) {
97
+ wp.busy = true;
98
+ wp.currentJob = job;
99
+ wp.timeoutId = setTimeout(() => {
100
+ this.handleTimeout(wp, job);
101
+ }, this.options.timeout);
102
+ const request = {
103
+ type: 'job',
104
+ job: { id: String(job.id), data: job.data, queue: job.queue, attempts: job.attempts },
105
+ };
106
+ wp.worker.postMessage(request);
107
+ }
108
+ handleMessage(wp, msg) {
109
+ if (!wp.currentJob || msg.jobId !== String(wp.currentJob.id))
110
+ return;
111
+ switch (msg.type) {
112
+ case 'result':
113
+ this.complete(wp, msg.result);
114
+ break;
115
+ case 'error':
116
+ this.fail(wp, msg.error ?? 'Unknown error');
117
+ break;
118
+ case 'progress':
119
+ if (msg.progress !== undefined) {
120
+ this.manager.updateProgress(wp.currentJob.id, msg.progress).catch(() => { });
121
+ }
122
+ break;
123
+ }
124
+ }
125
+ complete(wp, result) {
126
+ if (wp.timeoutId) {
127
+ clearTimeout(wp.timeoutId);
128
+ wp.timeoutId = null;
129
+ }
130
+ if (wp.currentJob) {
131
+ const jobId = wp.currentJob.id;
132
+ this.manager.ack(jobId, result).catch((e) => {
133
+ console.error(`[SandboxedWorker] Failed to ack job ${jobId}:`, e);
134
+ });
135
+ }
136
+ wp.busy = false;
137
+ wp.currentJob = null;
138
+ }
139
+ fail(wp, error) {
140
+ if (wp.timeoutId) {
141
+ clearTimeout(wp.timeoutId);
142
+ wp.timeoutId = null;
143
+ }
144
+ if (wp.currentJob) {
145
+ const jobId = wp.currentJob.id;
146
+ this.manager.fail(jobId, error).catch((e) => {
147
+ console.error(`[SandboxedWorker] Failed to fail job ${jobId}:`, e);
148
+ });
149
+ }
150
+ wp.busy = false;
151
+ wp.currentJob = null;
152
+ }
153
+ handleTimeout(wp, job) {
154
+ console.error(`[SandboxedWorker] Job ${job.id} timed out after ${this.options.timeout}ms`);
155
+ wp.worker.terminate();
156
+ this.manager.fail(job.id, `Job timed out after ${this.options.timeout}ms`).catch(() => { });
157
+ const index = this.workers.indexOf(wp);
158
+ if (index !== -1)
159
+ this.handleCrash(wp, index);
160
+ }
161
+ handleCrash(wp, index) {
162
+ if (wp.currentJob)
163
+ this.manager.fail(wp.currentJob.id, 'Worker crashed').catch(() => { });
164
+ wp.busy = false;
165
+ wp.currentJob = null;
166
+ wp.restarts++;
167
+ if (this.options.autoRestart && wp.restarts < this.options.maxRestarts && this.running) {
168
+ console.log(`[SandboxedWorker] Restarting worker ${index} (attempt ${wp.restarts})`);
169
+ this.spawnWorker(index);
170
+ }
171
+ else if (wp.restarts >= this.options.maxRestarts) {
172
+ console.error(`[SandboxedWorker] Worker ${index} exceeded max restarts (${this.options.maxRestarts})`);
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/client/sandboxed/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Worker Wrapper Script Generator
3
+ * Creates the wrapper script that loads processor in worker process
4
+ */
5
+ /**
6
+ * Create wrapper script file that loads the processor
7
+ */
8
+ export declare function createWrapperScript(queueName: string, processorPath: string): string;
9
+ /**
10
+ * Cleanup wrapper script file
11
+ */
12
+ export declare function cleanupWrapperScript(wrapperPath: string | null): void;
13
+ //# sourceMappingURL=wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../src/client/sandboxed/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA4CpF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAQrE"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Worker Wrapper Script Generator
3
+ * Creates the wrapper script that loads processor in worker process
4
+ */
5
+ import { join } from 'path';
6
+ import { writeFileSync, existsSync, mkdirSync, unlinkSync } from 'fs';
7
+ import { tmpdir } from 'os';
8
+ /**
9
+ * Create wrapper script file that loads the processor
10
+ */
11
+ export function createWrapperScript(queueName, processorPath) {
12
+ const fullPath = processorPath.startsWith('/')
13
+ ? processorPath
14
+ : join(process.cwd(), processorPath);
15
+ const wrapperCode = `
16
+ // Sandboxed Worker Wrapper
17
+ const processor = (await import('${fullPath}')).default;
18
+
19
+ self.onmessage = async (event) => {
20
+ const { type, job } = event.data;
21
+ if (type !== 'job') return;
22
+
23
+ try {
24
+ const result = await processor({
25
+ id: job.id,
26
+ data: job.data,
27
+ queue: job.queue,
28
+ attempts: job.attempts,
29
+ progress: (value) => {
30
+ self.postMessage({ type: 'progress', jobId: job.id, progress: value });
31
+ },
32
+ });
33
+
34
+ self.postMessage({ type: 'result', jobId: job.id, result });
35
+ } catch (err) {
36
+ self.postMessage({
37
+ type: 'error',
38
+ jobId: job.id,
39
+ error: err instanceof Error ? err.message : String(err),
40
+ });
41
+ }
42
+ };
43
+ `;
44
+ const tempDir = join(tmpdir(), 'bunqueue-workers');
45
+ if (!existsSync(tempDir)) {
46
+ mkdirSync(tempDir, { recursive: true });
47
+ }
48
+ const wrapperPath = join(tempDir, `worker-${queueName}-${Date.now()}.ts`);
49
+ writeFileSync(wrapperPath, wrapperCode);
50
+ return wrapperPath;
51
+ }
52
+ /**
53
+ * Cleanup wrapper script file
54
+ */
55
+ export function cleanupWrapperScript(wrapperPath) {
56
+ if (wrapperPath && existsSync(wrapperPath)) {
57
+ try {
58
+ unlinkSync(wrapperPath);
59
+ }
60
+ catch {
61
+ // Ignore cleanup errors
62
+ }
63
+ }
64
+ }
65
+ //# sourceMappingURL=wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../src/client/sandboxed/wrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAiB,EAAE,aAAqB;IAC1E,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC;QAC5C,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,CAAC,CAAC;IAEvC,MAAM,WAAW,GAAG;;mCAEa,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;CA0B1C,CAAC;IAEA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1E,aAAa,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IAExC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAA0B;IAC7D,IAAI,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC;YACH,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1,90 +1,7 @@
1
1
  /**
2
- * Sandboxed Worker
3
- * Runs job processors in isolated Bun Worker processes
2
+ * SandboxedWorker - Re-exports from sandboxed module
3
+ * @deprecated Import from './sandboxed' instead
4
4
  */
5
- import { type SharedManager } from './manager';
6
- /** Sandboxed worker configuration */
7
- export interface SandboxedWorkerOptions {
8
- /** Path to processor file (must export default async function) */
9
- processor: string;
10
- /** Number of worker processes (default: 1) */
11
- concurrency?: number;
12
- /** Max memory per worker in MB - uses smol mode if <= 64 (default: 256) */
13
- maxMemory?: number;
14
- /** Job timeout in ms (default: 30000) */
15
- timeout?: number;
16
- /** Auto-restart crashed workers (default: true) */
17
- autoRestart?: boolean;
18
- /** Max restarts before giving up (default: 10) */
19
- maxRestarts?: number;
20
- /** Poll interval when no workers are idle (default: 10ms) */
21
- pollInterval?: number;
22
- /** Custom QueueManager (for testing, defaults to shared manager) */
23
- manager?: SharedManager;
24
- }
25
- /**
26
- * Sandboxed Worker - runs processors in isolated Bun Worker processes
27
- *
28
- * @example
29
- * ```typescript
30
- * import { Queue, SandboxedWorker } from 'bunqueue/client';
31
- *
32
- * const queue = new Queue('cpu-intensive');
33
- *
34
- * // Create processor file: processor.ts
35
- * // export default async (job) => {
36
- * // const result = heavyComputation(job.data);
37
- * // return result;
38
- * // };
39
- *
40
- * const worker = new SandboxedWorker('cpu-intensive', {
41
- * processor: './processor.ts',
42
- * concurrency: 4,
43
- * timeout: 60000,
44
- * });
45
- *
46
- * await worker.start();
47
- * // Workers process jobs in isolated processes
48
- * // If one crashes, others continue working
49
- * ```
50
- */
51
- export declare class SandboxedWorker {
52
- private readonly queueName;
53
- private readonly options;
54
- private readonly workers;
55
- private running;
56
- private pullPromise;
57
- private wrapperPath;
58
- private readonly manager;
59
- constructor(queueName: string, options: SandboxedWorkerOptions);
60
- /** Start the sandboxed worker pool */
61
- start(): void;
62
- /** Stop all workers gracefully */
63
- stop(): Promise<void>;
64
- /** Get worker pool stats */
65
- getStats(): {
66
- total: number;
67
- busy: number;
68
- idle: number;
69
- restarts: number;
70
- };
71
- /** Create wrapper script file that loads the processor */
72
- private createWrapperScript;
73
- /** Spawn a single worker process */
74
- private spawnWorker;
75
- /** Main loop - pull jobs and dispatch to workers */
76
- private pullLoop;
77
- /** Dispatch job to a worker process */
78
- private dispatchJob;
79
- /** Handle message from worker */
80
- private handleWorkerMessage;
81
- /** Complete a job successfully */
82
- private completeJob;
83
- /** Fail a job */
84
- private failJob;
85
- /** Handle job timeout */
86
- private handleJobTimeout;
87
- /** Handle worker crash and potentially restart */
88
- private handleWorkerCrash;
89
- }
5
+ export type { SandboxedWorkerOptions } from './sandboxed';
6
+ export { SandboxedWorker } from './sandboxed';
90
7
  //# sourceMappingURL=sandboxedWorker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxedWorker.d.ts","sourceRoot":"","sources":["../../src/client/sandboxedWorker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAMjE,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,kEAAkE;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AA+BD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB;IAc9D,sCAAsC;IACtC,KAAK,IAAI,IAAI;IAgBb,kCAAkC;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B3B,4BAA4B;IAC5B,QAAQ,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAW3E,0DAA0D;IAC1D,OAAO,CAAC,mBAAmB;IA+C3B,oCAAoC;IACpC,OAAO,CAAC,WAAW;IAiCnB,oDAAoD;YACtC,QAAQ;IAkBtB,uCAAuC;IACvC,OAAO,CAAC,WAAW;IAsBnB,iCAAiC;IACjC,OAAO,CAAC,mBAAmB;IAkB3B,kCAAkC;IAClC,OAAO,CAAC,WAAW;IAiBnB,iBAAiB;IACjB,OAAO,CAAC,OAAO;IAiBf,yBAAyB;IACzB,OAAO,CAAC,gBAAgB;IAgBxB,kDAAkD;IAClD,OAAO,CAAC,iBAAiB;CAoB1B"}
1
+ {"version":3,"file":"sandboxedWorker.d.ts","sourceRoot":"","sources":["../../src/client/sandboxedWorker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC"}