A powerful rate limiter with concurrency control, priority queues, task scheduling, and Redis clustering support
Promise queue with concurrency control
Redis-backed requests-per-minute limiter for AI/LLM API calls.
Lightweight utilities for debouncing, throttling, and more - designed for npm packages.
Tiny queue data structure
Utilities for debouncing, throttling, rate-limiting, queuing, and more.
Utilities for debouncing and throttling functions in React.
Tiny async queue with concurrency control. Like p-limit or fastq, but smaller and faster.
fast, tiny `queueMicrotask` shim for modern engines
Throttles arbitrary code to execute a maximum number of times per interval. Best for making throttled API requests.
High-priority task queue for Node.js and browsers
Compatible version of p-queue
A simple rate limited queue for asynchronous operations. Restricts the number of operations executed per time interval.
A shim for the setImmediate efficient script yielding API
Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.
Better Queue for NodeJS
The smallest and simplest JavaScript priority queue
A simple tool to keep requests to be executed in order.
async/await simple priority queues
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
Devtools for Pacer.
React adapter for devtools for Pacer.
High-priority task queue for Node.js and browsers
A Resque plugin which allows you to create dedicated queues for jobs that use rate limited apis. These queues will pause when one of the jobs hits a rate limit, and unpause after a suitable time period. The rate_limited_queue can be used directly, and just requires catching the rate limit exception and pausing the queue. There are also additional queues provided that already include the pause/rety logic for twitter, angelist and evernote; these allow you to support rate limited apis with minimal changes.
A rate-limited Queue for EventMachine
A thread-safe rate-limited work queue, which allows for background and foreground operations.
Rate limit how many times a job can be run from a queue
A Resque plugin which allows you to create dedicated queues for jobs that use rate-limited APIs. These queues will pause when one of the jobs hits a rate limit, and unpause after a suitable time period. The rate-limited queue can be used directly, and just requires catching the rate limit exception and pausing the queue. There are also additional queues provided that already include the pause/retry logic for Twitter, AngelList and Evernote; these allow you to support rate-limited APIs with minimal changes.
A Rails engine that exposes Puma server metrics, queue time statistics, and request rate information via a /matrix endpoint
# Sparrow is a really fast lightweight queue written in Ruby that speaks memcached. # That means you can use Sparrow with any memcached client library (Ruby or otherwise). # # Basic tests shows that Sparrow processes messages at a rate of 850-900 per second. # The load Sparrow can cope with increases exponentially as you add to the cluster. # Sparrow also takes advantage of eventmachine, which uses a non-blocking io, offering great performance. # # Sparrow is a in-memory queue but will persist the data to disk when receiving a term signal. # # Sparrow comes with built in support for daemonization and clustering. # Also included are example libraries and clients. For example: # # require 'memcache' # m = MemCache.new('127.0.0.1:11212') # m['queue_name'] = '1' # Publish to queue # m['queue_name'] #=> 1 Pull next msg from queue # m['queue_name'] #=> nil # m.delete('queue_name) # Delete queue # # # or using the included client: # # class MyQueue < MQ3::Queue # def on_message # logger.info "Received msg with args: #{args.inspect}" # end # end # # MyQueue.servers = [ # MQ3::Protocols::Memcache.new({:host => '127.0.0.1', :port => 11212, :weight => 1}) # ] # MyQueue.publish('test msg') # MyQueue.run # # Messages are deleted as soon as they're read and the order you add messages to the queue probably won't # be the same order when they're removed. # # Additional memcached commands that are supported are: # flush_all # Deletes all queues # version # quit # The memcached commands 'add', and 'replace' just call 'set'. # # Call sparrow with --help for usage options # # The daemonization won't work on Windows. # # Check out the code: # svn checkout http://sparrow.googlecode.com/svn/trunk/ sparrow # # Sparrow was inspired by Twitter's Starling
Ruby binding for Honker — a SQLite-native task runtime. Queues, streams, pub/sub, time-trigger scheduler, results, locks, rate limits, all in one .db file. Thin wrapper around the Honker SQLite loadable extension; no Redis, no external broker.
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.