Elegant job processing in Swift
Swift Objective-C
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
DogTail.xcworkspace Renaming May 24, 2016
DogTail
.gitignore
.travis.yml
LICENSE
README.md

README.md

DogTail: Elegant Job Processing in Swift

Build Status

Easy and flexible job processing for OSX and iOS in Swift

Status: This library is a work in progress.

How it Works

DogTail is a job processing framework that works as an extendable pipeline of steps allowing exceptional control over the queue.

A queue tick usually executes the pipeline in the following order:

Step
Signals
Conditions
Consumer
Job <-> Task Execution
Analyzer

Signals

When emitted, signals wake up the queue and causes a tick to happen.

Conditions

On every tick, all the conditions check to see if the pipeline can proceed to process jobs.

Consumers

A consumer's only job is to provide the next task to be executed.

Jobs

Every consumer uses it's own way to provide and persist jobs, inside a job there's always a Task to be executed. Tasks can be synchronous, asynchronous or both at the same time.

Analyzers

If a job fails, analyzers will analyze the error(hah!) and determine what do to with it.

Installation

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

$ brew update
$ brew install carthage

To integrate DogTail into your Xcode project using Carthage, specify it in your Cartfile:

github "bithavoc/DogTail" ~> 0.0

Run carthage update to build the framework and drag the built DogTail.framework into your Xcode project.

License

DogTail is released under the MIT license. See LICENSE for details.