动态结点
运行节点被 python, jupyter 或 cargo 调用 您所要做的就是在数据流中指定节点是动态的,并在节点代码中指定节点 Id,您将能够在不使用 dora start
的情况下本地运行节点。
开始
您可以尝试这个最小化的一个节点示例:
nodes:
- id: node_0
path: dynamic # <-- 我们需要定义路径: 动态节点为 dynamic
inputs:
tick: dora/timer/millis/50
- 在您的电脑复制这个数据流,您能粘贴如下到您的终端:
echo -e "nodes:\n - id: node_0\n path: dynamic\n inputs:\n tick: dora/timer/millis/50" > dataflow.yaml
- 启动数据流
dora start dataflow.yaml
- 使用如下方法中的一个启动节点:
使用交互 Python:
$ python
>>> from dora import Node
>>> node = Node("node_0")
>>> event = node.next()
>>> event
{'id': 'tick', 'type': 'INPUT', 'value': <pyarrow.lib.NullArray object at 0x7bda86924460>
0 nulls, 'kind': 'dora', 'metadata': {'open_telemetry_context': ''}}
使用 Python
$ python my_script.py # <-- node = Node("node_0")
# 日志将显示在您的终端中
使用 Rust
$ cargo run my_node # <-- DoraNode::init_from_node_id(node_id);
# 日志将显示在您的终端中