Library for controlled parallel execution of async functions, with no external dependencies
A tiny TypeScript toolkit for retry, timeout, and controlled concurrency in async workloads.
A powerful utility for parallel array processing with controlled concurrency and batch size. Perfect for scenarios like:
Run multiple promise-returning & async functions with limited concurrency
Task pool for scheduling async tasks with controlled concurrency.
Run asynchronous tasks in batches with controlled concurrency - perfect for API calls, database operations, and file processing
A lightweight async task limiter. Run asynchronous operations with controlled concurrency and minimal overhead.
Get the first path that exists on disk of multiple paths
A lightweight utility library for running asynchronous tasks in parallel with controlled concurrency and result tracking.
Encode a URL to a percent-encoded form, excluding already-encoded sequences
An asynchronous yieldable version of JSON.stringify and JSON.parse
This package is a helper to run multiple promise-returning & async functions with limited concurrency.
Throttle the parallelism of an asynchronous (promise returning) function / functions
Run multiple promise-returning & async functions with limited concurrency using native ES9
Run promise-returning & async functions concurrently with optional limited concurrency
Improved concurrency/async primitives for Ember.js
a tiny react codemirror component wrapper
Promise queue with concurrency control
Scale grammY bots that use long polling
Serverless Plugin for AWS Lambdas Provisioned Concurrency Auto Scaling Configuration.
Create distributed semaphores using AWS Step Functions and Amazon DynamoDB to control concurrent invocations of contentious work.
decorator syntax for declaring/configuring ember-concurrency tasks
It's a very fast and efficient glob library for Node.js
@milestones/core integration for Ember.js
A lightweight, zero-dependency, thread-safe in-process async job queue with configurable concurrency for Ruby applications.
Counting semaphore built on Mutex and ConditionVariable for concurrent access control with configurable permits, weighted acquisition, FIFO fairness, dynamic resizing, blocking acquire, and timeout-based try_acquire.
Traffic control for ActiveJob: Concurrency/enabling/throttling
Advanced concurrency control and resource limiting for Falcon web server.
'Go' is a language that specializes in concurrency and control flow, but some people (myself included) don't like the choice of Syntax. Not only that, but these features are something that could be useful in other projects, hence why I created 'GoRuby', bringing the Concurrency and Control Flow features of 'Go' into Ruby
GenevaDrive provides a clean DSL for defining multi-step workflows that execute asynchronously, with strong guarantees around idempotency, concurrency control, and state management.
Provides both local (in-process) and shared (Redis-based) counting semaphores for controlling concurrent access to resources
A production-grade lightweight scheduler built on top of Async. Single event loop with min-heap timer, skip-overlapping execution, jitter, monotonic clock intervals, semaphore concurrency control, and deterministic worker sharding. Designed for Falcon but works with any Async-based application.
The `AsyncPaginate` module provides a mechanism to fetch multiple pages of data asynchronously in Ruby using the `async` gem. This is useful when you need to retrieve a large amount of paginated data in parallel to improve performance by controlling the number of concurrent requests.
LocalBus is a lightweight yet powerful pub/sub system for Ruby applications that enables decoupled communication within a single process. It offers both non-blocking I/O and thread pool processing modes, robust error handling, and fine-grained concurrency controls. Perfect for organizing event-driven architectures, handling background jobs, and managing complex workflows without external dependencies."
A Repository-pattern based ORM
ALPHA Alert -- just uploaded initial release. Linux inotify is a means to receive events describing file system activity (create, modify, delete, close, etc). Sinotify was derived from aredridel's package (http://raa.ruby-lang.org/project/ruby-inotify/), with the addition of Paul Boon's tweak for making the event_check thread more polite (see http://www.mindbucket.com/2009/02/24/ruby-daemons-verifying-good-behavior/) In sinotify, the classes Sinotify::PrimNotifier and Sinotify::PrimEvent provide a low level wrapper to inotify, with the ability to establish 'watches' and then listen for inotify events using one of inotify's synchronous event loops, and providing access to the events' masks (see 'man inotify' for details). Sinotify::PrimEvent class adds a little semantic sugar to the event in to the form of 'etypes', which are just ruby symbols that describe the event mask. If the event has a raw mask of (DELETE_SELF & IS_DIR), then the etypes array would be [:delete_self, :is_dir]. In addition to the 'straight' wrapper in inotify, sinotify provides an asynchronous implementation of the 'observer pattern' for notification. In other words, Sinotify::Notifier listens in the background for inotify events, adapting them into instances of Sinotify::Event as they come in and immediately placing them in a concurrent queue, from which they are 'announced' to 'subscribers' of the event. [Sinotify uses the 'cosell' implementation of the Announcements event notification framework, hence the terminology 'subscribe' and 'announce' rather then 'listen' and 'trigger' used in the standard event observer pattern. See the 'cosell' package on github for details.] A variety of 'knobs' are provided for controlling the behavior of the notifier: whether a watch should apply to a single directory or should recurse into subdirectores, how fast it should broadcast queued events, etc (see Sinotify::Notifier, and the example in the synopsis section below). An event 'spy' can also be setup to log all Sinotify::PrimEvents and Sinotify::Events. Sinotify::Event simplifies inotify's muddled event model, sending events only for those files/directories that have changed. That's not to say you can't setup a notifier that recurses into subdirectories, just that any individual event will apply to a single file, and not to its children. Also, event types are identified using words (in the form of ruby :symbols) instead of inotify's event masks. See Sinotify::Event for more explanation. The README for inotify: http://www.kernel.org/pub/linux/kernel/people/rml/inotify/README Selected quotes from the README for inotify: * "Rumor is that the 'd' in 'dnotify' does not stand for 'directory' but for 'suck.'" * "The 'i' in inotify does not stand for 'suck' but for 'inode' -- the logical choice since inotify is inode-based." (The 's' in 'sinotify' does in fact stand for 'suck.')
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.