Skip to content

Concurrency overhaul & reliability fixes

Pre-release
Pre-release

Choose a tag to compare

@RomainLanz RomainLanz released this 07 Dec 21:18
· 105 commits to main since this release
v0.0.1-alpha.0
4c91774

This release introduces a JobPool system for proper concurrency management, along with worker timeouts via AbortSignal. The Redis adapter has been refactored to use atomic Lua scripts, replacing the previous lock-based approach for better performance.
Workers now ensure pool completion before shutdown, making graceful termination more predictable.

Commits

  • docs(readme): add more features (784f410)
  • docs(readme): add benchmark section (b12d59f)
  • test(adapter): improve active tracking cleanup (c7c785f)
  • refactor(redis): remove verrou in favor of atomic lua script (ba69213)
  • refactor(redis): do not check for delayed jobs every pop (648163e)
  • chore: add some benchmark (458763e)
  • refactor(worker): use AbortSignal for timeout (1da0daa)
  • fix(worker): remove console.log (7830615)
  • fix(worker): avoid memory leak with job initialization fail (47442eb)
  • fix(worker): avoid memory leak when job class is not found (eed85f5)
  • fix(worker): avoid memory leak by releasing the lease when job fail (db5fdd3)
  • style: lint (62f34d6)
  • fix(worker): ensure pool completion before shutting down (690cf06)
  • style: lint fix (8e89885)
  • feat(worker): add timeout possibility (8ac461f)
  • feat: use job pool to ensure proper concurrency (38fd333)
  • feat: add JobPool system (34bbbc8)
  • chore: add basic readme (96ee73d)

Full Changelog: v0.0.1-alpha...v0.0.1-alpha.0