In order to support tasks notifications and progress updates we need to establish a channel & proxy by which those events can be sent from the process executing and producing those events and the originating process that requested that task to be executed. This review adds on such a proxy and adjusts a cloned tasks notification callbacks to place messages on a queue that will be picked up by a thread in the originating process for dispatch to the original callbacks that were registered with the non-cloned task (therefore making the original callbacks appear to be called as they are supposed to be). Part of blueprint process-executor Change-Id: I01c83f13186e4be9fa28c32e34e907bb133e8fb3
5.1 KiB
Passing values from and to tasks
Note
Full source located at simple_linear_pass.
../../taskflow/examples/simple_linear_pass.py
Making phone calls
Note
Full source located at simple_linear.
../../taskflow/examples/simple_linear.py
Making phone calls (automatically reverting)
Note
Full source located at reverting_linear.
../../taskflow/examples/reverting_linear.py
Building a car
Note
Full source located at build_a_car.
../../taskflow/examples/build_a_car.py
Iterating over the alphabet (using processes)
Note
Full source located at alphabet_soup.
../../taskflow/examples/alphabet_soup.py
Watching execution timing
Note
Full source located at timing_listener.
../../taskflow/examples/timing_listener.py
Linear equation solver (explicit dependencies)
Note
Full source located at calculate_linear.
../../taskflow/examples/calculate_linear.py
Linear equation solver (inferred dependencies)
Source: graph_flow.py
../../taskflow/examples/graph_flow.py
Linear equation solver (in parallel)
Note
Full source located at calculate_in_parallel
../../taskflow/examples/calculate_in_parallel.py
Creating a volume (in parallel)
Note
Full source located at create_parallel_volume
../../taskflow/examples/create_parallel_volume.py
Summation mapper(s) and reducer (in parallel)
Note
Full source located at simple_map_reduce
../../taskflow/examples/simple_map_reduce.py
Storing & emitting a bill
Note
Full source located at fake_billing
../../taskflow/examples/fake_billing.py
Suspending a workflow & resuming
Note
Full source located at resume_from_backend
../../taskflow/examples/resume_from_backend.py
Creating a virtual machine (resumable)
Note
Full source located at resume_vm_boot
../../taskflow/examples/resume_vm_boot.py
Creating a volume (resumable)
Note
Full source located at resume_volume_create
../../taskflow/examples/resume_volume_create.py
Running engines via iteration
Note
Full source located at run_by_iter
../../taskflow/examples/run_by_iter.py
Controlling retries using a retry controller
Note
Full source located at retry_flow
../../taskflow/examples/retry_flow.py
Distributed execution (simple)
Note
Full source located at wbe_simple_linear
../../taskflow/examples/wbe_simple_linear.py
Distributed mandelbrot (complex)
Note
Full source located at wbe_mandelbrot
Output
Code
../../taskflow/examples/wbe_mandelbrot.py
Jobboard producer/consumer (simple)
Note
Full source located at jobboard_produce_consume_colors
../../taskflow/examples/jobboard_produce_consume_colors.py
