A job scheduler for iOS, macOS, tvOS, and watchOS with constraints like concurrent execution, persistence, retry, and delays.
SwiftQueue is a job scheduler for iOS, macOS, tvOS, and watchOS that allows developers to schedule background tasks with constraints like internet connectivity, charging status, delays, and retry logic. It solves the problem of managing complex, reliable background job execution in Apple ecosystem apps by providing a structured, persistent queue system.
iOS, macOS, tvOS, and watchOS developers who need to manage background tasks, such as API calls, data syncing, or periodic updates, with reliability and configurable constraints.
Developers choose SwiftQueue for its robust constraint system, persistence, and seamless integration with Apple's OperationQueue, offering a reliable and easy-to-use alternative to building custom job scheduling solutions.
Job Scheduler for IOS with Concurrent run, failure/retry, persistence, repeat, delay and more
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports a wide range of job constraints like internet availability, charging status, and deadlines, enabling precise control over task execution as detailed in the README's feature list.
Jobs survive app restarts, ensuring task completion even after crashes or closures, a key feature highlighted in the documentation for offline-first scenarios.
Allows setting max retry counts with exponential backoff for failed jobs, demonstrated in the example with the onRetry method for handling errors gracefully.
Leverages Apple's Operation and OperationQueue, providing a structured, familiar foundation for iOS/macOS developers, as noted in the philosophy section.
Requires creating custom job classes with multiple callback implementations (onRun, onRetry, onRemove), which can be verbose and cumbersome for simple tasks.
Capabilities like foreground or background execution are labeled as experimental in the README, indicating potential instability or lack of full support.
The README lists only one major third-party extension (SQLitePersisterForSwiftQueue), suggesting a smaller community and fewer pre-built integrations.