7 Repos
Mechanisms for executing multiple asynchronous operations simultaneously and resolving based on the first successful completion.
Distinct from Asynchronous Task Processing: Distinct from general Asynchronous Task Processing: focuses specifically on the race condition pattern where only the fastest result is needed.
Explore 7 awesome GitHub repositories matching development tools & productivity · Task Racing. Refine with filters or upvote what's useful.
Async is a JavaScript asynchronous flow library designed to manage the execution and coordination of asynchronous tasks in Node.js and the browser. It provides functional utilities to wrap, process, and orchestrate complex asynchronous workflows. The library distinguishes itself through a comprehensive task orchestrator that handles dependency graphs to resolve circular references and manages concurrent task queues. It includes a unification bridge that allows callback-style and promise-based functions to operate within the same execution interface. The project covers several primary capabil
Async runs multiple tasks simultaneously and returns the result from the first one that completes.
Redux-Saga is a middleware for managing complex asynchronous flows and side effects in Redux applications. It functions as an asynchronous state orchestrator and side effect manager that uses JavaScript generator functions to coordinate concurrent tasks and long-running background processes tied to a global state store. The system utilizes a generator-based effect middleware to handle external I/O and API requests outside of the main application logic. It provides a mechanism to start, pause, and cancel multiple asynchronous operations, allowing the application to prevent race conditions and
Coordinates multiple competing asynchronous requests by resolving the first to complete and cancelling all others.
fp-ts is a TypeScript library that brings pure functional programming patterns to the language through algebraic data types, type class abstractions, and composable combinators. It provides foundational data types like Option for optional values, Either for typed error handling, and Task for lazy asynchronous computations, all designed to make invalid states unrepresentable and side effects explicit. The library is built on category theory concepts, offering type classes such as Functor, Applicative, Monad, Semigroup, and Monoid with lawful instances for common data structures. The library di
Returns the result of the first task to complete among a collection using a monoid.
Arrow is a functional programming library for Kotlin that provides tools for implementing data-oriented programming patterns. It serves as a framework for typed error handling, a concurrency toolkit, and a library for the manipulation of immutable data. The project distinguishes itself through specialized capabilities for managing application failures using explicit types instead of exceptions and implementing resilience patterns such as circuit breakers and retry policies for distributed services. It also provides optics to update and query deeply nested immutable data structures without man
Executes multiple asynchronous operations simultaneously and resolves based on the first successful completion.
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Resolves a future as soon as the first among a set of futures resolves.
RxPY ist eine Bibliothek für funktionale reaktive Programmierung und eine ReactiveX-Observable-Bibliothek für Python. Sie dient als asynchroner Stream-Prozessor und ereignisgesteuertes Koordinations-Framework zum Aufbau von Datenpipelines, die auf Zustandsänderungen oder Ereignisströme im Zeitverlauf reagieren. Die Bibliothek bietet ein Toolkit zur Komposition asynchroner und ereignisbasierter Programme mittels beobachtbarer Sequenzen und Operatoren. Sie zeichnet sich durch konfigurierbare Scheduler aus, die Nebenläufigkeit, Timing und Abonnement-Lebenszyklen verwalten. Das Projekt deckt ein breites Spektrum an Stream-Processing-Funktionen ab, einschließlich Datenaggregation, Filterung und Kombination. Es bietet Mechanismen für Event-Broadcasting, Sequenz-Buffering und Fehlerbehandlung sowie Werkzeuge zur Koordination beobachtbarer Streams mit asynchronen Event-Loops. Tests und Qualitätssicherung werden durch virtuelle Zeitsimulation, Marble-Diagramm-Modellierung und Emissionsverifizierung unterstützt.
Monitors multiple asynchronous sequences and propagates only the value from the one that reacts first.
ZIO is a functional effect system for the JVM that models asynchronous and concurrent programs as pure, composable values with typed error handling and dependency injection. Its core identity is built on fiber-based concurrency, where lightweight, non-blocking fibers execute millions of concurrent tasks with structured lifecycle management, and a dual-channel error model that separates expected business failures from unexpected system defects at compile time. The system provides effect-typed dependency injection through a layer-based dependency graph, pull-based reactive stream processing with
Runs two effects in parallel and returns the first successful result.