A Swift queue manager built on OperationQueue and GCD for creating and managing asynchronous and synchronous tasks.
Queuer is a Swift library that provides a queue manager built on top of OperationQueue and Grand Central Dispatch (GCD). It simplifies the creation and management of asynchronous and synchronous tasks, allowing developers to handle complex workflows like chained operations, automatic retries, and scheduling with minimal code. The library is cross-platform, supporting all Swift-compatible platforms including iOS, macOS, and Linux.
Swift developers building applications that require robust task management, such as handling network requests, background processing, or coordinating multiple asynchronous operations across Apple platforms and Linux.
Developers choose Queuer for its simplicity and power—it abstracts the complexity of OperationQueue and GCD while adding essential features like automatic retry, operation chaining, and semaphore support, all with 100% documentation and test coverage for reliability.
Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD).
Supports all Swift-compatible platforms including iOS, macOS, tvOS, watchOS, visionOS, and Linux, as detailed in the requirements table with version-specific mappings.
Boasts 100% documentation coverage, ensuring clarity and ease of use for all features, from basic queue management to advanced retry logic.
Provides high-level abstractions like automatic retry, chained operations, and semaphore support, simplifying complex workflows with minimal code, as shown in the usage examples.
Maintains 100% code coverage, enhancing reliability and reducing bugs for production use, as highlighted in the README features list.
The README explicitly lists throttling between automatic operation retries as a pending feature (marked with [ ]), which limits its use for rate-limited tasks without custom workarounds.
Using async/await tasks requires setting manualFinish to true and explicitly calling finish(), adding boilerplate and risk of blocking queues if mishandled, as warned in the 'Async Task in an Operation' section.
For full control over pause/resume states, developers must override functions in custom ConcurrentOperation subclasses, increasing complexity compared to simpler queue managers.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.