@nxtedition/scheduler 4.1.7 → 4.1.9

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/README.md CHANGED
@@ -188,9 +188,9 @@ const { running, pending, queues } = scheduler.stats
188
188
 
189
189
  Execute `fn` within the scheduler. Returns a promise that resolves with the return value of `fn`.
190
190
 
191
- ### `scheduler.acquire(fn, priority?, opaque?): void`
191
+ ### `scheduler.acquire(fn, priority?, opaque?): boolean`
192
192
 
193
- Low-level task acquisition. You **must** call `scheduler.release()` when done.
193
+ Low-level task acquisition. Returns `true` if a slot was available and `fn` ran synchronously, or `false` if the task was queued (also `false` if the scheduler has been disposed). You **must** call `scheduler.release()` when `fn` completes.
194
194
 
195
195
  ### `scheduler.release(): void`
196
196
 
@@ -202,7 +202,7 @@ Create shared state for cross-worker scheduling.
202
202
 
203
203
  ### `scheduler[Symbol.dispose]()`
204
204
 
205
- Drops the reference to any pending shared-mode wait. Use when abandoning a Scheduler with tasks still queued so the orphan promise can be GC'd.
205
+ Disposes the scheduler: releases any global slots it still holds (shared mode), drops the reference to a pending shared-mode `Atomics.waitAsync`, and makes all further calls no-ops. Use when abandoning a shared-mode Scheduler with tasks still queued so the instance and its parked wait can be garbage-collected (it is otherwise kept alive until process exit so its held slots can be released). Works with `using`.
206
206
 
207
207
  ### `parsePriority(value): number`
208
208
 
@@ -210,51 +210,72 @@ Parse a string or number into a normalized priority value.
210
210
 
211
211
  ---
212
212
 
213
- ## Throttle
213
+ ## Limiter
214
214
 
215
- `Throttle` is a token-bucket rate limiter that controls how many **bytes per second** are processed. It shares the same priority system as `Scheduler`.
215
+ `Limiter` is a token-bucket rate limiter that controls how many **tokens per second** are processed — typically bytes, but any integer unit works. It shares the same priority system as `Scheduler`.
216
+
217
+ > Previously exported as `Throttle`. The `Throttle` alias is retained for backward compatibility but is **deprecated** — prefer `Limiter`.
218
+
219
+ Tokens refill automatically: the constructor starts an internal `unref()`'d timer, and refills are also triggered lazily from `consume()` / `tryConsume()`. There is no manual refill step.
216
220
 
217
221
  ### Basic
218
222
 
219
223
  ```js
220
- import { Throttle } from '@nxtedition/scheduler'
224
+ import { Limiter } from '@nxtedition/scheduler'
221
225
 
222
- // Allow 1 MB/s
223
- const throttle = new Throttle({ bytesPerSecond: 1_000_000 })
226
+ // Allow 1 MB/s (tokens are bytes here)
227
+ const limiter = new Limiter({ tokensPerSecond: 1_000_000 })
224
228
 
225
- // Refill tokens every 10ms
226
- setInterval(() => throttle.refill(), 10)
229
+ // Consume `chunk.length` tokens at normal priority, running the callback when available
230
+ limiter.consume(() => send(chunk), chunk.length)
227
231
  ```
228
232
 
229
- ### Multi-Worker Coordination
230
-
231
233
  ### Streaming
232
234
 
233
- `throttle.stream()` returns a Node.js `Transform` stream that enforces backpressure — it won't call the next `write` until tokens are available:
235
+ `limiter.stream()` returns a Node.js `Transform` stream that enforces backpressure — it won't pass a chunk through until enough tokens are available. Each chunk consumes `chunk.length` tokens:
234
236
 
235
237
  ```js
236
238
  import { createReadStream, createWriteStream } from 'node:fs'
237
239
  import { pipeline } from 'node:stream/promises'
238
240
 
239
- const throttle = new Throttle({ bytesPerSecond: 1_000_000 }) // 1 MB/s
240
- setInterval(() => throttle.refill(), 10)
241
+ const limiter = new Limiter({ tokensPerSecond: 1_000_000 }) // 1 MB/s
241
242
 
242
- await pipeline(createReadStream('input.mp4'), throttle.stream(), createWriteStream('output.mp4'))
243
+ await pipeline(createReadStream('input.mp4'), limiter.stream(), createWriteStream('output.mp4'))
243
244
  ```
244
245
 
245
246
  ### Priority
246
247
 
247
- Both `run()` and `stream()` accept a priority. Higher-priority work drains first when tokens are available:
248
+ Both `consume()` and `stream()` accept a priority. Higher-priority work drains first when tokens are available:
248
249
 
249
250
  ```js
250
251
  // Low-priority stream (yields to higher-priority work)
251
- const stream = throttle.stream('low')
252
+ const stream = limiter.stream('low')
253
+ ```
254
+
255
+ ### Multi-Worker Coordination
256
+
257
+ Share a token bucket across worker threads using `SharedArrayBuffer`, exactly like `Scheduler`:
258
+
259
+ ```js
260
+ // Main thread
261
+ import { Limiter } from '@nxtedition/scheduler'
262
+ import { Worker } from 'node:worker_threads'
263
+
264
+ const sharedState = Limiter.makeSharedState(1_000_000) // 1 MB/s shared across all workers
265
+ new Worker('./worker.js', { workerData: sharedState })
266
+
267
+ // Worker thread
268
+ import { Limiter } from '@nxtedition/scheduler'
269
+ import { workerData } from 'node:worker_threads'
270
+
271
+ const limiter = new Limiter(workerData)
272
+ limiter.consume(() => send(chunk), chunk.length)
252
273
  ```
253
274
 
254
275
  ### Low-Level API
255
276
 
256
277
  ```js
257
- throttle.acquire(
278
+ const ran = limiter.consume(
258
279
  () => {
259
280
  sendPacket(data)
260
281
  },
@@ -263,22 +284,30 @@ throttle.acquire(
263
284
  )
264
285
  ```
265
286
 
266
- `acquire` returns `true` if the callback ran immediately (tokens were available), or `false` if it was queued.
287
+ `consume` returns `true` if the callback ran immediately (tokens were available and nothing was queued ahead of it), or `false` if it was queued.
267
288
 
268
289
  ## API
269
290
 
270
- ### `new Throttle(opts)`
291
+ ### `new Limiter(opts)`
292
+
293
+ - `opts.tokensPerSecond` — tokens (e.g. bytes) per second. **Required**; must be a positive integer. `0`, negative, non-integer, `NaN`, and `Infinity` all throw.
294
+ - `opts` may also be a `SharedArrayBuffer` created by `Limiter.makeSharedState(tokensPerSecond)`.
295
+
296
+ ### `limiter.consume(fn, bytes, priority?, opaque?): boolean`
297
+
298
+ Consume `bytes` tokens, running `fn(opaque)` when they are available. Returns `true` if `fn` ran immediately, `false` if it was queued. `opaque` is passed through to `fn` on both paths. A `bytes` of `0` always runs immediately.
299
+
300
+ ### `limiter.tryConsume(bytes): boolean`
271
301
 
272
- - `opts.bytesPerSecond` bytes per second (default: `Infinity`)
273
- - `opts` may also be a `SharedArrayBuffer` created by `Throttle.makeSharedState()`
302
+ Non-blocking. Consumes `bytes` and returns `true` only if enough tokens are available right now and nothing is queued; otherwise returns `false` without queuing.
274
303
 
275
- ### `throttle.acquire(fn, bytes, priority?): boolean`
304
+ ### `limiter.stream(priority?, options?): Transform`
276
305
 
277
- Low-level acquisition. Returns `true` if `fn` ran immediately, `false` if queued.
306
+ Returns a `Transform` stream that rate-limits data passing through it. Each chunk consumes `chunk.length` tokens. `options` is forwarded to the underlying `Transform` (e.g. `objectMode`, `highWaterMark`).
278
307
 
279
- ### `throttle.stream(priority?): Transform`
308
+ ### `Limiter.makeSharedState(tokensPerSecond): SharedArrayBuffer`
280
309
 
281
- Returns a `Transform` stream that rate-limits data passing through it. Each chunk consumes `chunk.length` tokens.
310
+ Create shared state for cross-worker rate limiting.
282
311
 
283
312
  ---
284
313
 
@@ -1 +1 @@
1
- {"version":3,"file":"limiter.d.ts","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAuC,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQtF,qBAAa,OAAQ,SAAQ,KAAK;;IAChC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,OAAO,CAAI;IAInB,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM;IAW9C,IAAI,KAAK;;;;;;MAMR;IAED,IAAI,eAAe,WAElB;gBAEW,IAAI,EAAE,iBAAiB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAyBjE,MAAM,CAAC,QAAQ,GAAE,QAAuB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAUpE,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IACvE,OAAO,CAAC,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,MAAM,EAAE,CAAC,GACR,OAAO;IA6BV,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAsGnC"}
1
+ {"version":3,"file":"limiter.d.ts","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,EAAuC,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AAQtF,qBAAa,OAAQ,SAAQ,KAAK;;IAChC,OAAO,CAAC,SAAS,CAAY;IAE7B,OAAO,CAAC,OAAO,CAAI;IAInB,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,MAAM;IAW9C,IAAI,KAAK;;;;;;MAMR;IAED,IAAI,eAAe,WAElB;gBAEW,IAAI,EAAE,iBAAiB,GAAG;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;IAyBjE,MAAM,CAAC,QAAQ,GAAE,QAAuB,EAAE,OAAO,CAAC,EAAE,gBAAgB;IAUpE,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IACvE,OAAO,CAAC,CAAC,EACP,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,MAAM,EAAE,CAAC,GACR,OAAO;IA6BV,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAiJnC"}
package/lib/limiter.js CHANGED
@@ -98,18 +98,64 @@ export class Limiter extends Queue {
98
98
  return true;
99
99
  }
100
100
  #refill() {
101
+ const rate = this.tokensPerSecond;
101
102
  const currentToken = this.stateView[TOKENS_INDEX];
102
103
  const refillTime = this.stateView[REFILL_INDEX];
103
- // Use performance.now() | 0 (integer ms since process start) to avoid the
104
- // Int32 overflow that Date.now() (~1.74 trillion) would cause.
104
+ // performance.now() | 0 is integer ms since process start, kept in Int32 range so it
105
+ // matches REFILL_INDEX's Int32 storage. Date.now() (~1.74 trillion) would overflow Int32.
105
106
  const now = performance.now() | 0;
106
- if (Atomics.compareExchange(this.stateView, REFILL_INDEX, refillTime, now) === refillTime) {
107
- const elapsed = refillTime === 0 ? Infinity : (now - refillTime) / 1000;
108
- // Guard against negative elapsed (Int32 wrap-around every ~24.8 days).
109
- // Skip Infinity concurrency tokens are not tracked for that case.
110
- if (elapsed > 0) {
111
- const newTokens = Math.min(this.tokensPerSecond - currentToken, elapsed * this.tokensPerSecond);
112
- Atomics.add(this.stateView, TOKENS_INDEX, newTokens | 0);
107
+ if (refillTime === 0) {
108
+ // First refill anchors the clock and fills the bucket to capacity. CAS so that when
109
+ // multiple workers race the very first refill, only one of them performs the fill.
110
+ if (Atomics.compareExchange(this.stateView, REFILL_INDEX, 0, now) === 0) {
111
+ const fill = rate - currentToken;
112
+ if (fill > 0) {
113
+ Atomics.add(this.stateView, TOKENS_INDEX, fill);
114
+ }
115
+ }
116
+ }
117
+ else if (now !== refillTime) {
118
+ const room = rate - currentToken;
119
+ const elapsedMs = now - refillTime;
120
+ if (elapsedMs < 0 || room <= 0) {
121
+ // Negative elapsed = the Int32 ms counter wrapped (~24.8 days); room <= 0 = the
122
+ // bucket is already at/over capacity (a full bucket cannot bank time). Either way,
123
+ // re-anchor the clock to now and drop the carried fraction without crediting.
124
+ Atomics.compareExchange(this.stateView, REFILL_INDEX, refillTime, now);
125
+ }
126
+ else {
127
+ // Tokens accrue at `rate` per 1000ms. Credit only whole tokens and advance the
128
+ // clock by just the time those whole tokens represent — the leftover sub-token
129
+ // slice stays encoded as the residual (now - refillTime) gap and is carried
130
+ // forward to the next refill. This is why refillTime itself serves as the
131
+ // remainder: refills that yield < 1 whole token (e.g. a 100ms tick at
132
+ // tokensPerSecond < 10) leave the clock untouched so elapsed time keeps
133
+ // accumulating, instead of advancing and truncating the fraction away — which
134
+ // permanently starved low rates and made non-tick-multiple rates under-deliver.
135
+ let granted = Math.floor((elapsedMs * rate) / 1000);
136
+ if (granted > 0) {
137
+ let newRefillTime;
138
+ if (granted >= room) {
139
+ // Bucket fills this tick: clamp to capacity and snap the clock to now —
140
+ // overflow time cannot be banked.
141
+ granted = room;
142
+ newRefillTime = now;
143
+ }
144
+ else {
145
+ // floor(granted * 1000 / rate) <= elapsedMs, so the clock never passes now;
146
+ // the un-advanced remainder (worth < one token) carries forward.
147
+ newRefillTime = refillTime + Math.floor((granted * 1000) / rate);
148
+ }
149
+ // Gate the credit on the REFILL CAS so concurrent refills across workers never
150
+ // double-count the same elapsed window: only the winner advances the clock and
151
+ // adds tokens.
152
+ if (Atomics.compareExchange(this.stateView, REFILL_INDEX, refillTime, newRefillTime) ===
153
+ refillTime) {
154
+ Atomics.add(this.stateView, TOKENS_INDEX, granted);
155
+ }
156
+ }
157
+ // granted === 0: leave refillTime untouched so the elapsed time keeps accruing
158
+ // until it is worth at least one whole token.
113
159
  }
114
160
  }
115
161
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"limiter.js","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"limiter.js","sourceRoot":"","sources":["../src/limiter.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export declare class Scheduler extends Queue {
26
26
  queues: {
27
27
  count: number;
28
28
  }[];
29
+ shared: {
30
+ running: number;
31
+ waiters: number;
32
+ } | undefined;
29
33
  };
30
34
  constructor(optsOrArrayBuffer: SharedArrayBuffer | {
31
35
  concurrency?: ConcurrencyOptions;
@@ -39,6 +43,7 @@ export declare class Scheduler extends Queue {
39
43
  acquire<U>(fn: (opaque: U) => unknown, priority: Priority | undefined, opaque: U): boolean;
40
44
  tryAcquire(priority?: Priority): boolean;
41
45
  release: () => void;
46
+ [Symbol.dispose](): void;
42
47
  }
43
48
  export {};
44
49
  //# sourceMappingURL=scheduler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAuB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AA4BhG,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN;IACE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAoGL,QAAA,MAAM,OAAO,eAA4B,CAAA;AAQzC,qBAAa,SAAU,SAAQ,KAAK;;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IASjC,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,SAAS,CAAQ;IAQzB,OAAO,CAAC,IAAI,CAAQ;IAqBpB,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM;IAc1C,IAAI,WAAW,WAGd;IAED,IAAI,KAAK;;;;;;MAMR;gBAGC,iBAAiB,EAAE,iBAAiB,GAAG;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,EAC3E,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE;IAoDhD,CAAC,OAAO,CAAC;IAuCT,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmB3F,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IACxD,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO;IAqE1F,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IAuGxC,OAAO,aAiCN;CACF"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,EAAuB,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAA;AA4BhG,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN;IACE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAoGL,QAAA,MAAM,OAAO,eAA4B,CAAA;AAQzC,qBAAa,SAAU,SAAQ,KAAK;;IAClC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IASjC,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,SAAS,CAAQ;IAQzB,OAAO,CAAC,IAAI,CAAQ;IAqBpB,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM;IAc1C,IAAI,WAAW,WAGd;IAED,IAAI,KAAK;;;;;;;;;;MAYR;gBAGC,iBAAiB,EAAE,iBAAiB,GAAG;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE,EAC3E,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,kBAAkB,CAAA;KAAE;IAoDhD,CAAC,OAAO,CAAC;IAuCT,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;IACrE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmB3F,OAAO,CAAC,EAAE,EAAE,MAAM,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IACxD,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO;IAqE1F,UAAU,CAAC,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO;IAuGxC,OAAO,aAiCL;IAEF,CAAC,MAAM,CAAC,OAAO,CAAC;CAejB"}
package/lib/scheduler.js CHANGED
@@ -175,6 +175,12 @@ export class Scheduler extends Queue {
175
175
  running: this.running,
176
176
  pending: this.pending,
177
177
  queues: this.queues.map((q) => ({ count: q.cnt })),
178
+ shared: this.shared
179
+ ? {
180
+ running: Atomics.load(this.stateView, RUNNING_INDEX),
181
+ waiters: Atomics.load(this.stateView, WAITERS_INDEX),
182
+ }
183
+ : undefined,
178
184
  };
179
185
  }
180
186
  constructor(optsOrArrayBuffer, options) {
@@ -451,5 +457,20 @@ export class Scheduler extends Queue {
451
457
  }
452
458
  this.#schedule(running);
453
459
  };
460
+ [Symbol.dispose]() {
461
+ if (this.dead) {
462
+ return;
463
+ }
464
+ // Reuse the exit-cleanup path: release any global slots this instance still holds,
465
+ // pair the WAITERS increment of a parked waitAsync, and mark the instance dead so any
466
+ // late notify .then microtask becomes a no-op (see the `dead` field docstring).
467
+ this[kOnExit]();
468
+ // Drop our reference to the parked waitAsync chain and remove the strong ref that the
469
+ // exit registry holds, so the instance — and the .then closure capturing it — can be
470
+ // garbage-collected without waiting for process exit. Cleanup already ran above, so
471
+ // there is nothing left for process.on('exit') to do for this instance.
472
+ this.#waitPromise = null;
473
+ schedulers.delete(this);
474
+ }
454
475
  }
455
476
  //# sourceMappingURL=scheduler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../src/scheduler.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/scheduler",
3
- "version": "4.1.7",
3
+ "version": "4.1.9",
4
4
  "type": "module",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "typecheck": "tsc --noEmit",
23
23
  "test": "yarn build && node --test",
24
24
  "test:ci": "yarn build && node --test",
25
- "test:coverage": "npx tsx --test --experimental-test-coverage src/index.test.ts",
25
+ "test:coverage": "node --test --experimental-test-coverage 'src/*.test.ts'",
26
26
  "test:types": "tsd"
27
27
  },
28
28
  "devDependencies": {
@@ -33,5 +33,5 @@
33
33
  "tsd": "^0.33.0",
34
34
  "typescript": "^5.9.3"
35
35
  },
36
- "gitHead": "f1db573ec7f65f7d94406eea7bc4a8f51959c332"
36
+ "gitHead": "7c9c7457c885c644c7a1e70ef894d4727ce240d6"
37
37
  }