26个稳定版本
3.0.5 | 2024年4月27日 |
---|---|
3.0.3 | 2024年4月18日 |
2.0.0 | 2024年3月3日 |
1.7.0 | 2024年3月3日 |
1.2.4 | 2023年12月20日 |
#85 in #callback
每月246次下载
115KB
3K SLoC
Querent SDK for Rust
Rust的Querent SDK简化了从Rust应用程序与高级异步数据处理引擎Querent的集成。此SDK简化了Querent工作流的集成,提供了一种直接的方法来在Rust中启动、管理和交互Querent操作。
特性
- 轻松从Rust应用程序启动Querent工作流。
- 简化与Querent工作流的交互,处理输入和输出数据。
- 从Rust直接触发Querent事件和回调。
- 简化Querent集成到基于Rust的项目中。
安装
要使用Querent SDK for Rust,将其包含在您的 Cargo.toml
[dependencies]
querent_synapse = "0.1.0"
用法
以下是从Rust应用程序启动Querent工作流的基本示例
use querent_synapse::{Querent, WorkflowBuilder, Config, PyEventCallbackInterface, py_runtime_init};
fn main() {
// Initialize the Python runtime
py_runtime_init();
// Create a Querent instance
let mut querent = Querent::new();
// Define the first workflow using the builder pattern
let workflow1 = WorkflowBuilder::new("workflow_id_1")
.name("My Workflow 1")
.import("my_module")
.attr("start_function")
.add_argument(42)
.config(Config::default())
.event_callback(PyEventCallbackInterface::new())
.build();
// Define the second workflow
let workflow2 = WorkflowBuilder::new("workflow_id_2")
.name("My Workflow 2")
.import("another_module")
.attr("start_function")
.add_argument("example_argument")
.config(Config::default())
.event_callback(PyEventCallbackInterface::new())
.build();
// Add workflows to Querent
querent.add_workflow(workflow1).expect("Failed to add workflow 1");
querent.add_workflow(workflow2).expect("Failed to add workflow 2");
// Start workflows asynchronously
querent.start_workflows().await.expect("Failed to start workflows");
}
序列图
sequenceDiagram
participant Rust
participant PythonGIL as "Python (with GIL)"
participant Python
Rust ->> PythonGIL: initialize_querent()
PythonGIL ->> Python:
Rust ->> PythonGIL: add_workflow(workflow1)
PythonGIL ->> Python:
Rust ->> PythonGIL: add_workflow(workflow2)
PythonGIL ->> Python:
Rust ->> PythonGIL: start_workflows() (async)
PythonGIL ->> Python: execute_workflow()
Python ->> PythonGIL: handle_event()
获取帮助
如果您在使用Rust的Querent SDK时遇到任何问题或有任何疑问,请随时通过我们的社区支持渠道联系。
许可证
Rust的Querent SDK提供Apache 2.0许可证。有关详细信息,请参阅LICENSE文件。
依赖关系
~24–37MB
~570K SLoC