bunqueue 1.4.0 → 1.5.0
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/dlqManager.js +2 -2
- package/dist/application/dlqManager.js.map +1 -1
- package/dist/application/operations/ack.js +1 -1
- package/dist/application/operations/ack.js.map +1 -1
- package/dist/application/operations/jobManagement.js +1 -1
- package/dist/application/operations/jobManagement.js.map +1 -1
- package/dist/application/operations/push.js +2 -2
- package/dist/application/operations/push.js.map +1 -1
- package/dist/application/queueManager.js +1 -1
- package/dist/application/queueManager.js.map +1 -1
- package/dist/cli/dashboard.d.ts +32 -0
- package/dist/cli/dashboard.d.ts.map +1 -0
- package/dist/cli/dashboard.js +183 -0
- package/dist/cli/dashboard.js.map +1 -0
- package/dist/domain/queue/shard.d.ts +22 -6
- package/dist/domain/queue/shard.d.ts.map +1 -1
- package/dist/domain/queue/shard.js +61 -45
- package/dist/domain/queue/shard.js.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.d.ts +8 -3
- package/dist/infrastructure/scheduler/cronScheduler.d.ts.map +1 -1
- package/dist/infrastructure/scheduler/cronScheduler.js +49 -26
- package/dist/infrastructure/scheduler/cronScheduler.js.map +1 -1
- package/dist/shared/lru.d.ts +24 -4
- package/dist/shared/lru.d.ts.map +1 -1
- package/dist/shared/lru.js +187 -66
- package/dist/shared/lru.js.map +1 -1
- package/dist/shared/skipList.d.ts +95 -0
- package/dist/shared/skipList.d.ts.map +1 -0
- package/dist/shared/skipList.js +277 -0
- package/dist/shared/skipList.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skip List Implementation
|
|
3
|
+
* Probabilistic data structure with O(log n) insert, delete, search
|
|
4
|
+
* Ideal for sorted collections with frequent modifications
|
|
5
|
+
*/
|
|
6
|
+
/** Sentinel node (head) */
|
|
7
|
+
function createHead(maxLevel) {
|
|
8
|
+
const forward = [];
|
|
9
|
+
for (let i = 0; i <= maxLevel; i++) {
|
|
10
|
+
forward.push(null);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
value: null,
|
|
14
|
+
forward,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Skip List with O(log n) operations
|
|
19
|
+
* - insert: O(log n)
|
|
20
|
+
* - delete: O(log n)
|
|
21
|
+
* - search: O(log n)
|
|
22
|
+
* - range query: O(log n + k) where k = results
|
|
23
|
+
*/
|
|
24
|
+
export class SkipList {
|
|
25
|
+
maxLevel;
|
|
26
|
+
probability;
|
|
27
|
+
compare;
|
|
28
|
+
head;
|
|
29
|
+
level = 0;
|
|
30
|
+
_size = 0;
|
|
31
|
+
/**
|
|
32
|
+
* Create a skip list
|
|
33
|
+
* @param compare Comparator function (negative if a < b, positive if a > b, 0 if equal)
|
|
34
|
+
* @param maxLevel Maximum level (default 16, supports ~65k elements efficiently)
|
|
35
|
+
* @param probability Level promotion probability (default 0.5)
|
|
36
|
+
*/
|
|
37
|
+
constructor(compare, maxLevel = 16, probability = 0.5) {
|
|
38
|
+
this.compare = compare;
|
|
39
|
+
this.maxLevel = maxLevel;
|
|
40
|
+
this.probability = probability;
|
|
41
|
+
this.head = createHead(maxLevel);
|
|
42
|
+
}
|
|
43
|
+
/** Current number of elements */
|
|
44
|
+
get size() {
|
|
45
|
+
return this._size;
|
|
46
|
+
}
|
|
47
|
+
/** Check if empty */
|
|
48
|
+
get isEmpty() {
|
|
49
|
+
return this._size === 0;
|
|
50
|
+
}
|
|
51
|
+
/** Generate random level for new node */
|
|
52
|
+
randomLevel() {
|
|
53
|
+
let lvl = 0;
|
|
54
|
+
while (Math.random() < this.probability && lvl < this.maxLevel) {
|
|
55
|
+
lvl++;
|
|
56
|
+
}
|
|
57
|
+
return lvl;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Insert value - O(log n)
|
|
61
|
+
*/
|
|
62
|
+
insert(value) {
|
|
63
|
+
const update = [];
|
|
64
|
+
for (let i = 0; i <= this.maxLevel; i++) {
|
|
65
|
+
update.push(null);
|
|
66
|
+
}
|
|
67
|
+
let current = this.head;
|
|
68
|
+
// Find insert position at each level
|
|
69
|
+
for (let i = this.level; i >= 0; i--) {
|
|
70
|
+
let fwd = current.forward[i];
|
|
71
|
+
while (fwd !== null && this.compare(fwd.value, value) < 0) {
|
|
72
|
+
current = fwd;
|
|
73
|
+
fwd = current.forward[i];
|
|
74
|
+
}
|
|
75
|
+
update[i] = current;
|
|
76
|
+
}
|
|
77
|
+
// Generate level for new node
|
|
78
|
+
const newLevel = this.randomLevel();
|
|
79
|
+
// If new level is higher than current, update head
|
|
80
|
+
if (newLevel > this.level) {
|
|
81
|
+
for (let i = this.level + 1; i <= newLevel; i++) {
|
|
82
|
+
update[i] = this.head;
|
|
83
|
+
}
|
|
84
|
+
this.level = newLevel;
|
|
85
|
+
}
|
|
86
|
+
// Create new node
|
|
87
|
+
const newNodeForward = [];
|
|
88
|
+
for (let i = 0; i <= newLevel; i++) {
|
|
89
|
+
newNodeForward.push(null);
|
|
90
|
+
}
|
|
91
|
+
const newNode = {
|
|
92
|
+
value,
|
|
93
|
+
forward: newNodeForward,
|
|
94
|
+
};
|
|
95
|
+
// Insert at each level
|
|
96
|
+
for (let i = 0; i <= newLevel; i++) {
|
|
97
|
+
const updateNode = update[i];
|
|
98
|
+
if (updateNode) {
|
|
99
|
+
newNode.forward[i] = updateNode.forward[i];
|
|
100
|
+
updateNode.forward[i] = newNode;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
this._size++;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Delete value - O(log n)
|
|
107
|
+
* @returns true if found and deleted
|
|
108
|
+
*/
|
|
109
|
+
delete(value) {
|
|
110
|
+
const update = [];
|
|
111
|
+
for (let i = 0; i <= this.maxLevel; i++) {
|
|
112
|
+
update.push(null);
|
|
113
|
+
}
|
|
114
|
+
let current = this.head;
|
|
115
|
+
// Find node at each level
|
|
116
|
+
for (let i = this.level; i >= 0; i--) {
|
|
117
|
+
let fwd = current.forward[i];
|
|
118
|
+
while (fwd !== null && this.compare(fwd.value, value) < 0) {
|
|
119
|
+
current = fwd;
|
|
120
|
+
fwd = current.forward[i];
|
|
121
|
+
}
|
|
122
|
+
update[i] = current;
|
|
123
|
+
}
|
|
124
|
+
// Check if found
|
|
125
|
+
const target = current.forward[0];
|
|
126
|
+
if (target === null || this.compare(target.value, value) !== 0) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
// Remove from each level
|
|
130
|
+
for (let i = 0; i <= this.level; i++) {
|
|
131
|
+
const updateNode = update[i];
|
|
132
|
+
if (updateNode?.forward[i] === target) {
|
|
133
|
+
updateNode.forward[i] = target.forward[i];
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// Reduce level if necessary
|
|
140
|
+
while (this.level > 0 && this.head.forward[this.level] === null) {
|
|
141
|
+
this.level--;
|
|
142
|
+
}
|
|
143
|
+
this._size--;
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Delete by predicate - O(n) worst case, but typically O(log n + k)
|
|
148
|
+
* Useful when you need to match by a subset of fields
|
|
149
|
+
*/
|
|
150
|
+
deleteWhere(predicate) {
|
|
151
|
+
let current = this.head.forward[0];
|
|
152
|
+
while (current !== null) {
|
|
153
|
+
if (predicate(current.value)) {
|
|
154
|
+
this.delete(current.value);
|
|
155
|
+
return current.value;
|
|
156
|
+
}
|
|
157
|
+
current = current.forward[0];
|
|
158
|
+
}
|
|
159
|
+
return null;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Find exact value - O(log n)
|
|
163
|
+
*/
|
|
164
|
+
find(value) {
|
|
165
|
+
let current = this.head;
|
|
166
|
+
for (let i = this.level; i >= 0; i--) {
|
|
167
|
+
let fwd = current.forward[i];
|
|
168
|
+
while (fwd !== null && this.compare(fwd.value, value) < 0) {
|
|
169
|
+
current = fwd;
|
|
170
|
+
fwd = current.forward[i];
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const target = current.forward[0];
|
|
174
|
+
if (target !== null && this.compare(target.value, value) === 0) {
|
|
175
|
+
return target.value;
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Check if value exists - O(log n)
|
|
181
|
+
*/
|
|
182
|
+
has(value) {
|
|
183
|
+
return this.find(value) !== null;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Get first (minimum) element - O(1)
|
|
187
|
+
*/
|
|
188
|
+
first() {
|
|
189
|
+
return this.head.forward[0]?.value ?? null;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Remove and return first element - O(log n)
|
|
193
|
+
*/
|
|
194
|
+
shift() {
|
|
195
|
+
const first = this.head.forward[0];
|
|
196
|
+
if (first === null)
|
|
197
|
+
return null;
|
|
198
|
+
this.delete(first.value);
|
|
199
|
+
return first.value;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Range query: get all values where comparator returns <= 0
|
|
203
|
+
* O(log n + k) where k = number of results
|
|
204
|
+
* @param maxValue Upper bound (inclusive)
|
|
205
|
+
* @param limit Maximum number of results
|
|
206
|
+
*/
|
|
207
|
+
rangeUntil(maxValue, limit) {
|
|
208
|
+
const result = [];
|
|
209
|
+
let current = this.head.forward[0];
|
|
210
|
+
while (current !== null && this.compare(current.value, maxValue) <= 0) {
|
|
211
|
+
result.push(current.value);
|
|
212
|
+
if (limit !== undefined && result.length >= limit)
|
|
213
|
+
break;
|
|
214
|
+
current = current.forward[0];
|
|
215
|
+
}
|
|
216
|
+
return result;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Get all values where predicate is true, starting from first
|
|
220
|
+
* Stops at first false (assumes sorted order matches predicate)
|
|
221
|
+
* O(k) where k = matching results
|
|
222
|
+
*/
|
|
223
|
+
takeWhile(predicate, limit) {
|
|
224
|
+
const result = [];
|
|
225
|
+
let current = this.head.forward[0];
|
|
226
|
+
while (current !== null && predicate(current.value)) {
|
|
227
|
+
result.push(current.value);
|
|
228
|
+
if (limit !== undefined && result.length >= limit)
|
|
229
|
+
break;
|
|
230
|
+
current = current.forward[0];
|
|
231
|
+
}
|
|
232
|
+
return result;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Iterate all values in order
|
|
236
|
+
*/
|
|
237
|
+
*values() {
|
|
238
|
+
let current = this.head.forward[0];
|
|
239
|
+
while (current !== null) {
|
|
240
|
+
yield current.value;
|
|
241
|
+
current = current.forward[0];
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Convert to array
|
|
246
|
+
*/
|
|
247
|
+
toArray() {
|
|
248
|
+
return Array.from(this.values());
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Clear all elements
|
|
252
|
+
*/
|
|
253
|
+
clear() {
|
|
254
|
+
this.head = createHead(this.maxLevel);
|
|
255
|
+
this.level = 0;
|
|
256
|
+
this._size = 0;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Filter and remove elements matching predicate
|
|
260
|
+
* Returns removed elements
|
|
261
|
+
* O(n) but removes in-place
|
|
262
|
+
*/
|
|
263
|
+
removeAll(predicate) {
|
|
264
|
+
const removed = [];
|
|
265
|
+
let current = this.head.forward[0];
|
|
266
|
+
while (current !== null) {
|
|
267
|
+
const next = current.forward[0];
|
|
268
|
+
if (predicate(current.value)) {
|
|
269
|
+
removed.push(current.value);
|
|
270
|
+
this.delete(current.value);
|
|
271
|
+
}
|
|
272
|
+
current = next;
|
|
273
|
+
}
|
|
274
|
+
return removed;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=skipList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipList.js","sourceRoot":"","sources":["../../src/shared/skipList.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bunqueue",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "High-performance job queue server written in Bun. SQLite persistence, cron scheduling, priorities, retries, DLQ, webhooks. Minimal dependencies.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/main.js",
|