Tool Library
A small queue for promises.
Tiny queue data structure
fast, tiny `queueMicrotask` shim for modern engines
A shim for the setImmediate efficient script yielding API
Extremely fast double-ended queue implementation
Promise queue with concurrency control
A simple tool to keep requests to be executed in order.
High-priority task queue for Node.js and browsers
The smallest and simplest JavaScript priority queue
queue-lit is a tiny queue data structure in case you `Array#push()` or `Array#shift()` on large arrays very often
Next tick shim that prefers process.nextTick over queueMicrotask for compat
Offload tasks to a pool of workers on node.js and in the browser
Promise-based queue
A simple, dependency-free library for concurrent promise-based queues. Comes with with concurrency and timeout control.
Simple JS queue with auto run for node and browsers
LRU Queue
In memory queue system prioritizing tasks
The fastest javascript implementation of a double-ended queue. Used by the official Redis, MongoDB, MariaDB & MySQL libraries for Node.js and many other libraries. Maintains compatability with deque.
High-priority task queue for Node.js and browsers
Simple JS queue with auto run for node and browsers
Sequential asynchronous lock-based queue for promises
Fast, in memory work queue
asynchronous function queue with adjustable concurrency
The one pain-point I have had with AMQP is the lack of a series of command line tools for smoke-testing components or sending my own messages through a queue. Hare can be toggled either to produce messages, or to sit and listen/report for them.
Small modular library for dealing with queues and pollers.
Extension 'parallel': Interface for pushung blocks
MobSpawner manages worker threads that can run arbitrary commands and report results. Unlike distributed queues, MobSpawner is self-contained and perfect for small batch scripts that need to run multiple independent jobs.
Loops is a small and lightweight framework for Ruby on Rails, Merb and other ruby frameworks created to support simple background loops in your application which are usually used to do some background data processing on your servers (queue workers, batch tasks processors, etc).
Many other Ruby libraries that simplify parallel execution support one primary use case - crunching through a large queue of small, similar tasks as quickly and efficiently as possible. This library primarily supports the use case of executing a few larger and unrelated tasks in parallel, automatically managing the stdout and passing return values back to the main process. This library was created to be used by Puppet's Beaker test framework to enable parallel execution of some of the framework's tasks, and allow users to execute code in parallel within their tests.
Loops is a small and lightweight framework for Ruby on Rails, Merb and other ruby frameworks created to support simple background loops in your application which are usually used to do some background data processing on your servers (queue workers, batch tasks processors, etc).
Tuile is a small TUI framework built on top of the TTY toolkit. It models the terminal as a tree of components (windows, lists, text fields, popups) with an invalidation-based repaint model and a single-threaded event queue, so apps don't have to think about locking. The name is French for "roof tile" — a small piece that composes into a larger whole.
Native implementation of Dijkstra algorithm for finding the shortest path between two vertices in a large, sparse graphs. Underlying algorithm is implemented in C using a priority queue. Edges are represented using linked lists rather than an adjacency matrix to reduce memory footprint when operating on very large graphs where the average number of edges between nodes is relatively small (e.g. < 1/10 the number of nodes). See https://en.wikipedia.org/wiki/Dijkstra's_algorithm for additional information.
RedisRpc is the easiest to use RPC library in the world. (No small claim!). This version is a repackage that only has Ruby implementation. Redis is a powerful in-memory data structure server that is useful for building fast distributed systems. Redis implements message queue functionality with its use of list data structures and the `LPOP`, `BLPOP`, and `RPUSH` commands. RedisRpc implements a lightweight RPC mechanism using Redis message queues to temporarily hold RPC request and response messages. These messages are encoded as JSON strings for portability. Many other RPC mechanisms are either programming language specific (e.g. Java RMI) or require boiler-plate code for explicit typing (e.g. Thrift). RedisRpc was designed to be extremely easy to use by eliminating boiler-plate code while also being programming language neutral. High performance was not an initial goal of RedisRpc and other RPC libraries are likely to have better performance. Instead, RedisRpc has better programmer performance; it lets you get something working immediately.
Sashiko is a small Ruby gem that adds a declarative span DSL on top of OpenTelemetry, plus helpers for keeping trace context attached as work crosses Thread, Fiber, queue, HTTP, and Ractor boundaries. Includes a span-replay mechanism for emitting spans from Ractor workers, optional Faraday and Anthropic adapters, RBS signatures, and a Ruby::Box-aware `tracer:` injection path for multi-tenant observability.
RedisRPC is the easiest to use RPC library in the world. (No small claim!) It has implementations in Ruby, PHP, and Python. Redis is a powerful in-memory data structure server that is useful for building fast distributed systems. Redis implements message queue functionality with its use of list data structures and the `LPOP`, `BLPOP`, and `RPUSH` commands. RedisRPC implements a lightweight RPC mechanism using Redis message queues to temporarily hold RPC request and response messages. These messages are encoded as JSON strings for portability. Many other RPC mechanisms are either programming language specific (e.g. Java RMI) or require boiler-plate code for explicit typing (e.g. Thrift). RedisRPC was designed to be extremely easy to use by eliminating boiler-plate code while also being programming language neutral. High performance was not an initial goal of RedisRPC and other RPC libraries are likely to have better performance. Instead, RedisRPC has better programmer performance; it lets you get something working immediately.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.