Using TaskFlow¶
Considerations¶
Things to consider before (and during) development and integration with TaskFlow into your project:
- Read over the paradigm shifts and engage the team in IRC (or via the
openstack-dev mailing list) if these need more explanation (prefix
[Oslo][TaskFlow]
to your emails subject to get an even faster response). - Follow (or at least attempt to follow) some of the established best practices (feel free to add your own suggested best practices).
- Keep in touch with the team (see above); we are all friendly and enjoy knowing your use cases and learning how we can help make your lives easier by adding or adjusting functionality in this library.
User Guide¶
- Atoms, tasks and retries
- Arguments and results
- Inputs and outputs
- Patterns
- Engines
- Overview
- Design
- Usage
- Limitations
- Implementations
- Notifications and listeners
- Persistence
- Resumption
- Jobs
- Conductors
- Examples
- Hello world
- Passing values from and to tasks
- Using listeners
- Using listeners (to watch a phone call)
- Dumping a in-memory backend
- Making phone calls
- Making phone calls (automatically reverting)
- Building a car
- Iterating over the alphabet (using processes)
- Watching execution timing
- Distance calculator
- Table multiplier (in parallel)
- Linear equation solver (explicit dependencies)
- Linear equation solver (inferred dependencies)
- Linear equation solver (in parallel)
- Creating a volume (in parallel)
- Summation mapper(s) and reducer (in parallel)
- Sharing a thread pool executor (in parallel)
- Storing & emitting a bill
- Suspending a workflow & resuming
- Creating a virtual machine (resumable)
- Creating a volume (resumable)
- Running engines via iteration
- Controlling retries using a retry controller
- Distributed execution (simple)
- Distributed notification (simple)
- Distributed mandelbrot (complex)
- Jobboard producer/consumer (simple)
- Conductor simulating a CI pipeline
- Conductor running 99 bottles of beer song requests
Miscellaneous¶
Bookshelf¶
A useful collection of links, documents, papers, similar projects, frameworks and libraries.
Note
Please feel free to submit your own additions and/or changes.