summaryrefslogtreecommitdiff
path: root/taskflow/examples
diff options
context:
space:
mode:
authorJoshua Harlow <harlowja@yahoo-inc.com>2013-10-16 16:50:57 -0700
committerJoshua Harlow <harlowja@yahoo-inc.com>2013-10-16 16:56:44 -0700
commitebfd9d0da9050ae85d0403c2ab30e97a38483b9c (patch)
tree9783327b9bc88dca0440eabd2db9bd3dad1f2d17 /taskflow/examples
parent99bfca62ebd090d70132e15b57a47444e3895972 (diff)
downloadtaskflow-ebfd9d0da9050ae85d0403c2ab30e97a38483b9c.tar.gz
Add docs/intro to simple_linear example
Change-Id: I6911337bf492d5cfc7e48a006dbf076826a18a62
Diffstat (limited to 'taskflow/examples')
-rw-r--r--taskflow/examples/simple_linear.py24
1 files changed, 16 insertions, 8 deletions
diff --git a/taskflow/examples/simple_linear.py b/taskflow/examples/simple_linear.py
index c9ad346..e285e68 100644
--- a/taskflow/examples/simple_linear.py
+++ b/taskflow/examples/simple_linear.py
@@ -31,29 +31,37 @@ import taskflow.engines
from taskflow.patterns import linear_flow as lf
from taskflow import task
+# INTRO: In this example we create two tasks, each of which ~calls~ a given
+# ~phone~ number (provided as a function input) in a linear fashion (one after
+# the other). For a workflow which is serial this shows a extremly simple way
+# of structuring your tasks (the code that does the work) into a linear
+# sequence (the flow) and then passing the work off to an engine, with some
+# initial data to be ran in a reliable manner.
+#
+# This example shows a basic usage of the taskflow structures without involving
+# the complexity of persistence. Using the structures that taskflow provides
+# via tasks and flows makes it possible for you to easily at a later time
+# hook in a persistence layer (and then gain the functionality that offers)
+# when you decide the complexity of adding that layer in is 'worth it' for your
+# applications usage pattern (which some applications may not need).
-class CallJim(task.Task):
-
- def __init__(self):
- super(CallJim, self).__init__()
+class CallJim(task.Task):
def execute(self, jim_number, *args, **kwargs):
print("Calling jim %s." % jim_number)
class CallJoe(task.Task):
-
- def __init__(self):
- super(CallJoe, self).__init__()
-
def execute(self, joe_number, *args, **kwargs):
print("Calling joe %s." % joe_number)
+# Create your flow and associated tasks (the work to be done).
flow = lf.Flow('simple-linear').add(
CallJim(),
CallJoe()
)
+# Now run that flow using the provided initial data (store below)
taskflow.engines.run(flow, store=dict(joe_number=444,
jim_number=555))