mirror of
https://github.com/status-im/spiff-arena.git
synced 2025-01-17 05:31:09 +00:00
7ac4b51c6a
8d820dce1f Track spiff step details more granularly (#17) 426da26d8f Clear the remaining __init__.py imports in SpiffWorkflow (#14) 9a1d1c484a Fix FutureWarning in SpiffWorkflow (#16) git-subtree-dir: SpiffWorkflow git-subtree-split: 8d820dce1f439bb76bc07e39629832d998d6f634
26 lines
885 B
Python
26 lines
885 B
Python
import json
|
|
from SpiffWorkflow.workflow import Workflow
|
|
from SpiffWorkflow.specs.WorkflowSpec import WorkflowSpec
|
|
from SpiffWorkflow.serializer.json import JSONSerializer
|
|
|
|
# Load from JSON
|
|
with open('nuclear.json') as fp:
|
|
workflow_json = fp.read()
|
|
serializer = JSONSerializer()
|
|
spec = WorkflowSpec.deserialize(serializer, workflow_json)
|
|
|
|
# Alternatively, create an instance of the Python based specification.
|
|
#from nuclear import NuclearStrikeWorkflowSpec
|
|
#spec = NuclearStrikeWorkflowSpec()
|
|
|
|
# Create the workflow.
|
|
workflow = Workflow(spec)
|
|
|
|
# Execute until all tasks are done or require manual intervention.
|
|
# For the sake of this tutorial, we ignore the "manual" flag on the
|
|
# tasks. In practice, you probably don't want to do that.
|
|
workflow.complete_all(halt_on_manual=False)
|
|
|
|
# Alternatively, this is what a UI would do for a manual task.
|
|
#workflow.complete_task_from_id(...)
|