bunqueue 2.6.78 → 2.6.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/application/operations/pull.d.ts.map +1 -1
- package/dist/application/operations/pull.js +55 -4
- package/dist/application/operations/pull.js.map +1 -1
- package/dist/client/queue/dlq.d.ts.map +1 -1
- package/dist/client/queue/dlq.js +8 -1
- package/dist/client/queue/dlq.js.map +1 -1
- package/dist/client/queue/stall.d.ts.map +1 -1
- package/dist/client/queue/stall.js +13 -2
- package/dist/client/queue/stall.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/application/operations/pull.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,GAAG,EACR,KAAK,KAAK,EAIX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMhD,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,KAAK,EAAE;QACjB,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;
|
|
1
|
+
{"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../../src/application/operations/pull.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,KAAK,GAAG,EACR,KAAK,KAAK,EAIX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAMhD,6BAA6B;AAC7B,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,gBAAgB,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAClC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,SAAS,EAAE,CAAC,KAAK,EAAE;QACjB,SAAS,EAAE,SAAS,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACxE;AAoKD;;GAEG;AACH,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,CA+BrB;AAuCD;;GAEG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,GAAG,EAAE,CAAC,CAoChB"}
|
|
@@ -59,7 +59,13 @@ async function moveToProcessing(job, queue, ctx) {
|
|
|
59
59
|
ctx.processingShards[procIdx].set(job.id, job);
|
|
60
60
|
});
|
|
61
61
|
ctx.jobIndex.set(job.id, { type: 'processing', shardIdx: procIdx });
|
|
62
|
-
|
|
62
|
+
try {
|
|
63
|
+
ctx.storage?.markActive(job.id, job.startedAt ?? now, job.timeline);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
// Non-fatal: job is already in processingShards (in-memory source of truth).
|
|
67
|
+
// On crash, SQLite recovery will handle the stale state.
|
|
68
|
+
}
|
|
63
69
|
ctx.totalPulled.value++;
|
|
64
70
|
throughputTracker.pullRate.increment();
|
|
65
71
|
ctx.broadcast({
|
|
@@ -97,7 +103,12 @@ async function moveToProcessingBatch(jobs, queue, ctx) {
|
|
|
97
103
|
for (const job of jobs) {
|
|
98
104
|
const procIdx = processingShardIndex(job.id);
|
|
99
105
|
ctx.jobIndex.set(job.id, { type: 'processing', shardIdx: procIdx });
|
|
100
|
-
|
|
106
|
+
try {
|
|
107
|
+
ctx.storage?.markActive(job.id, job.startedAt ?? now, job.timeline);
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Non-fatal: job is already in processingShards (in-memory source of truth).
|
|
111
|
+
}
|
|
101
112
|
ctx.totalPulled.value++;
|
|
102
113
|
throughputTracker.pullRate.increment();
|
|
103
114
|
ctx.broadcast({
|
|
@@ -108,6 +119,30 @@ async function moveToProcessingBatch(jobs, queue, ctx) {
|
|
|
108
119
|
});
|
|
109
120
|
}
|
|
110
121
|
}
|
|
122
|
+
/**
|
|
123
|
+
* Requeue a job that was popped from the priority queue but failed to move to processing.
|
|
124
|
+
* Restores the job to the shard queue, removes it from processingShards, and notifies waiters.
|
|
125
|
+
*/
|
|
126
|
+
async function requeueJob(job, queue, idx, ctx) {
|
|
127
|
+
// Remove from processingShards (may have been added before the failure)
|
|
128
|
+
const procIdx = processingShardIndex(job.id);
|
|
129
|
+
await withWriteLock(ctx.processingLocks[procIdx], () => {
|
|
130
|
+
ctx.processingShards[procIdx].delete(job.id);
|
|
131
|
+
});
|
|
132
|
+
// Reset job state (was modified in tryDequeueNextJob)
|
|
133
|
+
job.startedAt = null;
|
|
134
|
+
// Push back to queue
|
|
135
|
+
await withWriteLock(ctx.shardLocks[idx], () => {
|
|
136
|
+
const shard = ctx.shards[idx];
|
|
137
|
+
if (job.groupId)
|
|
138
|
+
shard.releaseGroup(queue, job.groupId);
|
|
139
|
+
shard.releaseConcurrency(queue);
|
|
140
|
+
shard.getQueue(queue).push(job);
|
|
141
|
+
shard.incrementQueued(job.id, false, job.createdAt, queue, job.runAt);
|
|
142
|
+
shard.notify();
|
|
143
|
+
});
|
|
144
|
+
ctx.jobIndex.set(job.id, { type: 'queue', shardIdx: idx, queueName: queue });
|
|
145
|
+
}
|
|
111
146
|
/**
|
|
112
147
|
* Pull next job from queue
|
|
113
148
|
*/
|
|
@@ -118,7 +153,14 @@ export async function pullJob(queue, timeoutMs, ctx) {
|
|
|
118
153
|
while (true) {
|
|
119
154
|
const job = await tryPullFromShard(queue, idx, ctx);
|
|
120
155
|
if (job) {
|
|
121
|
-
|
|
156
|
+
try {
|
|
157
|
+
await moveToProcessing(job, queue, ctx);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
// Safety net: if moveToProcessing fails, push job back to prevent loss
|
|
161
|
+
await requeueJob(job, queue, idx, ctx);
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
122
164
|
latencyTracker.pull.observe((Bun.nanoseconds() - startNs) / 1e6);
|
|
123
165
|
return job;
|
|
124
166
|
}
|
|
@@ -174,7 +216,16 @@ export async function pullJobBatch(queue, count, timeoutMs, ctx) {
|
|
|
174
216
|
while (true) {
|
|
175
217
|
const jobs = await tryPullBatchFromShard(queue, idx, count, ctx);
|
|
176
218
|
if (jobs.length > 0) {
|
|
177
|
-
|
|
219
|
+
try {
|
|
220
|
+
await moveToProcessingBatch(jobs, queue, ctx);
|
|
221
|
+
}
|
|
222
|
+
catch {
|
|
223
|
+
// Safety net: push all jobs back to prevent loss
|
|
224
|
+
for (const job of jobs) {
|
|
225
|
+
await requeueJob(job, queue, idx, ctx);
|
|
226
|
+
}
|
|
227
|
+
return [];
|
|
228
|
+
}
|
|
178
229
|
if (jobs.length > 1) {
|
|
179
230
|
ctx.dashboardEmit?.('batch:pulled', { queue, count: jobs.length });
|
|
180
231
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/application/operations/pull.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../../src/application/operations/pull.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;AAKD,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAQ9E;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,CAMvD;AAED,uDAAuD;AACvD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAM3E;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"}
|
package/dist/client/queue/dlq.js
CHANGED
|
@@ -5,12 +5,16 @@
|
|
|
5
5
|
import { getSharedManager } from '../manager';
|
|
6
6
|
import { jobId } from '../../domain/types/job';
|
|
7
7
|
import * as dlqOps from './dlqOps';
|
|
8
|
+
/** Client-side cache for TCP mode */
|
|
9
|
+
const tcpDlqConfigCache = new Map();
|
|
8
10
|
/** Set DLQ configuration */
|
|
9
11
|
export function setDlqConfig(ctx, config) {
|
|
10
12
|
if (ctx.embedded) {
|
|
11
13
|
dlqOps.setDlqConfig(ctx.name, config);
|
|
12
14
|
}
|
|
13
15
|
else if (ctx.tcp) {
|
|
16
|
+
const current = tcpDlqConfigCache.get(ctx.name) ?? {};
|
|
17
|
+
tcpDlqConfigCache.set(ctx.name, { ...current, ...config });
|
|
14
18
|
void ctx.tcp.send({ cmd: 'SetDlqConfig', queue: ctx.name, config });
|
|
15
19
|
}
|
|
16
20
|
}
|
|
@@ -18,7 +22,10 @@ export function setDlqConfig(ctx, config) {
|
|
|
18
22
|
export function getDlqConfig(ctx) {
|
|
19
23
|
if (ctx.embedded)
|
|
20
24
|
return dlqOps.getDlqConfigEmbedded(ctx.name);
|
|
21
|
-
// Return
|
|
25
|
+
// Return cached config if available
|
|
26
|
+
const cached = tcpDlqConfigCache.get(ctx.name);
|
|
27
|
+
if (cached)
|
|
28
|
+
return cached;
|
|
22
29
|
return {};
|
|
23
30
|
}
|
|
24
31
|
/** Get DLQ configuration (async, works in TCP mode) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dlq.js","sourceRoot":"","sources":["../../../src/client/queue/dlq.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAQnC,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,GAAe,EAAE,MAA0B;IACtE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,GAAe;IAC1C,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/D,
|
|
1
|
+
{"version":3,"file":"dlq.js","sourceRoot":"","sources":["../../../src/client/queue/dlq.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAQnC,qCAAqC;AACrC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEhE,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,GAAe,EAAE,MAA0B;IACtE,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACtD,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC3D,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,4BAA4B;AAC5B,MAAM,UAAU,YAAY,CAAC,GAAe;IAC1C,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/D,oCAAoC;IACpC,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,MAAM;QAAE,OAAO,MAAmB,CAAC;IACvC,OAAO,EAAe,CAAC;AACzB,CAAC;AAED,uDAAuD;AACvD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,GAAe;IACrD,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG,CAAC,GAAG;QAAE,OAAO,EAAe,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9E,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAe,CAAC;IACzC,OAAQ,QAAkC,CAAC,MAAM,CAAC;AACpD,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,MAAM,CAAI,GAAe,EAAE,MAAkB;IAC3D,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,MAAM,CAAC,aAAa,CAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,WAAW,CAAC,GAAe;IACzC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,EAAmC;YAC7C,YAAY,EAAE,CAAC;YACf,OAAO,EAAE,CAAC;YACV,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,wBAAwB;AACxB,MAAM,UAAU,QAAQ,CAAC,GAAe,EAAE,EAAW;IACnD,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC/D,IAAI,GAAG,CAAC,GAAG;QAAE,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,gBAAgB,CAAC,GAAe,EAAE,MAAiB;IACjE,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,gBAAgB;AAChB,MAAM,UAAU,QAAQ,CAAC,GAAe;IACtC,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,GAAG;QAAE,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACrE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,0BAA0B;AAC1B,MAAM,UAAU,cAAc,CAAC,GAAe,EAAE,EAAW;IACzD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvC,OAAO,gBAAgB,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,GAAG,CAAC,GAAG;QAAE,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kCAAkC;AAClC,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAe,EAAE,EAAW;IACpE,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,cAAc,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,GAAG;QAAE,OAAO,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACpF,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,CAAC,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAW,CAAC;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stall.d.ts","sourceRoot":"","sources":["../../../src/client/queue/stall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/B;
|
|
1
|
+
{"version":3,"file":"stall.d.ts","sourceRoot":"","sources":["../../../src/client/queue/stall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAG5C,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC/B;AAYD,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CASpF;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,WAAW,CAM7D;AAED,mEAAmE;AACnE,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CAYjF"}
|
|
@@ -3,12 +3,23 @@
|
|
|
3
3
|
* setStallConfig, getStallConfig
|
|
4
4
|
*/
|
|
5
5
|
import * as dlqOps from './dlqOps';
|
|
6
|
+
const DEFAULT_STALL_CONFIG = {
|
|
7
|
+
enabled: true,
|
|
8
|
+
stallInterval: 30000,
|
|
9
|
+
maxStalls: 3,
|
|
10
|
+
gracePeriod: 5000,
|
|
11
|
+
};
|
|
12
|
+
/** Client-side cache for TCP mode (server is the source of truth) */
|
|
13
|
+
const tcpConfigCache = new Map();
|
|
6
14
|
/** Set stall detection configuration */
|
|
7
15
|
export function setStallConfig(ctx, config) {
|
|
8
16
|
if (ctx.embedded) {
|
|
9
17
|
dlqOps.setStallConfigEmbedded(ctx.name, config);
|
|
10
18
|
}
|
|
11
19
|
else if (ctx.tcp) {
|
|
20
|
+
// Cache locally so getStallConfig() returns the correct value
|
|
21
|
+
const current = tcpConfigCache.get(ctx.name) ?? { ...DEFAULT_STALL_CONFIG };
|
|
22
|
+
tcpConfigCache.set(ctx.name, { ...current, ...config });
|
|
12
23
|
void ctx.tcp.send({ cmd: 'SetStallConfig', queue: ctx.name, config });
|
|
13
24
|
}
|
|
14
25
|
}
|
|
@@ -17,8 +28,8 @@ export function getStallConfig(ctx) {
|
|
|
17
28
|
if (ctx.embedded) {
|
|
18
29
|
return dlqOps.getStallConfigEmbedded(ctx.name);
|
|
19
30
|
}
|
|
20
|
-
// Return
|
|
21
|
-
return
|
|
31
|
+
// Return cached config if available, otherwise defaults
|
|
32
|
+
return tcpConfigCache.get(ctx.name) ?? { ...DEFAULT_STALL_CONFIG };
|
|
22
33
|
}
|
|
23
34
|
/** Get stall detection configuration (async, works in TCP mode) */
|
|
24
35
|
export async function getStallConfigAsync(ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stall.js","sourceRoot":"","sources":["../../../src/client/queue/stall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAQnC,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,GAAiB,EAAE,MAA4B;IAC5E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAiC,CAAC,CAAC;IAC7E,CAAC;SAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,GAAiB;IAC9C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,
|
|
1
|
+
{"version":3,"file":"stall.js","sourceRoot":"","sources":["../../../src/client/queue/stall.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAQnC,MAAM,oBAAoB,GAAgB;IACxC,OAAO,EAAE,IAAI;IACb,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,qEAAqE;AACrE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEtD,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,GAAiB,EAAE,MAA4B;IAC5E,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAiC,CAAC,CAAC;IAC7E,CAAC;SAAM,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,8DAA8D;QAC9D,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAC;QAC5E,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACxD,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAAC,GAAiB;IAC9C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,wDAAwD;IACxD,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,oBAAoB,EAAE,CAAC;AACrE,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,GAAiB;IACzD,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;QACjB,OAAO,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAChF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAClF,CAAC;IACD,OAAQ,QAAoC,CAAC,MAAM,CAAC;AACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bunqueue",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.80",
|
|
4
4
|
"description": "High-performance job queue for Bun & AI agents. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks, native MCP server. Zero external dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|