A shared file system queue for Node.js that supports pub-sub and work queues with AMQP-like topic wildcards. Version 14.0.0 (stable, maintained as of 2025) targets Node 16+. It leverages the local file system for multi-core use and tested distributed file systems (BeeGFS, CephFS) for multi-host setups. Key differentiators vs. Redis pub-sub or RabbitMQ are zero external dependencies beyond Node.js, optional direct producer-to-subscriber streaming (since v12.1.0), and optional shared-memory Disruptor acceleration (since v9). Limitations: no guaranteed message ordering unless using order_by_expiry; best-effort delivery under crashes.
npm install qlobber-fsqNo compatibility data collected yet for this library.
Verified import paths — ran on the pinned version, not inferred.
Create a QlobberFSQ instance, subscribe to a topic pattern with multi-level wildcard, publish a message, and handle life cycle events.
Replace `order_by_expiry: true` with `deliv_order: 'by_expiry'`.
Use `const { QlobberFSQ } = require('qlobber-fsq')` instead of `const QlobberFSQ = require('qlobber-fsq')`.Replace `fsq.stop_watching()` with `fsq.close()`.
Define the handler function and set `.accept_stream = true` before subscribing.
If ordering is required, set `deliv_order: 'by_expiry'` in constructor and ensure each publish call includes an `expiry` option (milliseconds).
Use `const { QlobberFSQ } = require('qlobber-fsq')` or switch to ESM `import { QlobberFSQ } from 'qlobber-fsq'`.Use `import { QlobberFSQ } from 'qlobber-fsq'` (named import).Ensure the directory exists and the process has write permissions. For example, use a `tmp` folder: `{ fsq_dir: '/tmp/fsq-test' }`.Add `handler.accept_stream = true` on the subscriber handler function, or use the non-stream publish signature `publish(topic, payload, ...)`.