给一个liteflow 使用的例子
时间: 2023-07-20 16:16:44 浏览: 60
好的,下面是一个使用 LiteFlow 的示例:
```python
from liteflow.core import Workflow, Node, Edge, WorkflowRunner
class StartNode(Node):
def run(self, data, context):
print("StartNode")
return data
class ProcessNode(Node):
def run(self, data, context):
print("ProcessNode")
data["result"] = 100
return data
class EndNode(Node):
def run(self, data, context):
print("EndNode")
return data
class MyWorkflow(Workflow):
def __init__(self):
super().__init__("MyWorkflow")
start_node = StartNode(self, "StartNode")
process_node = ProcessNode(self, "ProcessNode")
end_node = EndNode(self, "EndNode")
self.add_node(start_node)
self.add_node(process_node)
self.add_node(end_node)
self.connect(start_node, process_node)
self.connect(process_node, end_node)
data = {"input": 10}
runner = WorkflowRunner()
result = runner.start(MyWorkflow(), data)
print(result)
```
这个示例中,我们定义了一个名为 MyWorkflow 的工作流,包括三个节点:StartNode、ProcessNode 和 EndNode。StartNode 只是简单地打印一条消息并将数据传递给下一个节点。ProcessNode 将数据处理后将结果存储到数据中,并将其传递给下一个节点。EndNode 只是简单地打印一条消息并返回数据。最后,我们创建了一个 WorkflowRunner 对象,并使用 start() 方法来启动 MyWorkflow 工作流,并将 data 作为输入数据传递给工作流。最后,我们打印工作流的输出结果。
这只是一个简单的示例,实际上,LiteFlow 可以构建更加复杂的工作流应用程序。例如,可以使用条件节点、并行节点等来实现更加复杂的工作流逻辑。