{"repo":"lucas34/SwiftQueue","free":true,"listed":false,"github":"https://github.com/lucas34/SwiftQueue","clone":"git clone https://github.com/lucas34/SwiftQueue.git","description":"Job Scheduler for IOS with Concurrent run, failure/retry, persistence, repeat, delay and more","language":"Swift","stars":423,"topics":["job","scheduler","swift","operation","queue","persist","operationqueue","persistence","delay","job-scheduler"],"license":"MIT","category":"mobile-apps","readme_excerpt":"SwiftQueue Schedule tasks with constraints made easy. SwiftQueue is a job scheduler for iOS inspired by popular android libraries like android-priority-jobqueue or android-job . It allows you to run your tasks with run and retry constraints. Library will rely on Operation and OperationQueue to make sure all tasks will run in order. Don't forget to check our WIKI . Features - [x] Sequential or Concurrent execution - [x] Persistence - [x] Cancel all, by id or by tag - [x] Start / Stop queue Job Constraints: - [x] Delay - [x] Deadline - [x] Timeout - [x] Internet - [x] Charging - [x] Single instance in queue - [x] Retry: Max count, exponential backoff - [x] Periodic: Max run, interval delay - [x] Experimental Foreground or Background execution Requirements - iOS 8.0+, watchOS 2.0+, macOS 10.10+, tvOS 9.0+ - Xcode 11.0 Installation SwiftPackageManager (SPM) To integrate using Apple's Swift package manager, add the following as a dependency to your Package.swift: Carthage SwiftQueue is carthage compatible. Add the following entry in your Cartfile : Then run carthage update . CocoaPods You can use CocoaPods to install SwiftQueue by adding it to your Podfile : In your application, simply import the library Example This example will simply wrap an api call. Create your custom job by extending Job with onRun , onRetry and onRemove callbacks. Create your SwiftQueueManager and keep the reference . If you want to cancel a job it has to be done with the same instance. Schedule your job an","default_branch":null,"files":null,"tree":[],"storefront":"/r/lucas34","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/lucas34/SwiftQueue/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}