59个版本 (7个稳定版)
| 2.2.0 | 2024年6月13日 | 
|---|---|
| 2.1.1-rc0 | 2023年10月24日 | 
| 2.1.0 | 2023年9月28日 | 
| 2.0.0-rc9 | 2023年7月20日 | 
| 0.10.4 | 2020年6月3日 | 
#413 in Web编程
每月359次下载
在  2 crates 中使用
330KB
 9K  SLoC
mcAI Worker SDK
mcAI Worker SDK 包含用于在 Media Cloud AI 中定义的每个 Worker 中使用的库。
它定义了与在 Elixir 中开发的 Step manager(名为 StepFlow)交换的通用方式。
文档
请使用此处可访问的自动生成的 Rust 文档:这里。
lib.rs:
mcAI Worker SDK
此库是用于通过消息代理与 StepFlow 通信的 SDK。它作为抽象用于每个 Worker。它管理自身需求、消息解析、直接消息。
Worker 实现
- 创建 Rust 项目
- 在 Cargo.toml 中添加 MCAI Worker SDK 作为依赖项:mcai_worker_sdk = "^1.0"
- 更新主文件,使用此处提供的示例来实现 MessageEvent 特质,并调用 start_worker来启动 Worker。
use mcai_worker_sdk::prelude::*;
use serde_derive::Deserialize;
use schemars::JsonSchema;
#[derive(Debug)]
struct WorkerNameEvent {}
#[derive(Debug, Deserialize, JsonSchema)]
struct WorkerParameters {}
// For opensource workers
default_rust_mcai_worker_description!();
// Or uncomment one of these lines for licensed workers
// default_rust_mcai_worker_description!(Private);
// default_rust_mcai_worker_description!(Commercial);
// You can also specify the name of your organisation
// default_rust_mcai_worker_description!("My Organisation", Commercial);
impl McaiWorker<WorkerParameters, RustMcaiWorkerDescription> for WorkerNameEvent {
}
static WORKER_NAME_EVENT: WorkerNameEvent = WorkerNameEvent {};
// uncomment it to start the worker
// fn main() {
//   mcai_worker_sdk::start_worker(&WORKER_NAME_EVENT);
// }
运行时配置
AMQP 连接
| 变量 | 描述 | 
|---|---|
| AMQP_HOSTNAME | AMQP 服务器 IP 或主机(默认: localhost) | 
| AMQP_PORT | AMQP 服务器端口(默认: 5672) | 
| AMQP_TLS | 启用使用 AMQPS 的安全连接(默认: false,启用请使用true或1或TRUE或True) | 
| AMQP_USERNAME | 用于连接到 AMQP 服务器用户名(默认: guest) | 
| AMQP_PASSWORD | 用于连接到 AMQP 服务器密码(默认: guest) | 
| AMQP_VHOST | AMQP 虚拟主机(默认: /) | 
| AMQP_QUEUE | 用于接收工作订单的AMQP队列名称(默认: job_undefined) | 
| AMQP_SERVER_CONFIGURATION | RabbitMP配置。可以是独立模式或集群模式(默认: standalone) | 
Vault连接
| 变量 | 描述 | 
|---|---|
| BACKEND_HOSTNAME | 连接到后端服务器的URL(默认: http://127.0.0.1:4000/api) | 
| BACKEND_USERNAME | 用于连接到后端服务器的用户名 | 
| BACKEND_PASSWORD | 用于连接到后端服务器的密码 | 
本地启动工作进程
MCAI工作进程SDK可以在本地启动 - 不需要RabbitMQ。它可以处理不同目的的消息(功能测试、消息顺序示例等)。
要在此模式下启动工作进程,设置环境变量SOURCE_ORDERS,并指定JSON订单的路径。它可以接受多个订单,在Unix平台上用:连接,在Windows操作系统上用;连接。
示例
RUST_LOG=info SOURCE_ORDERS=./examples/success_order.json:./examples/error_order.json cargo run --example worker
依赖项
~31–47MB
~774K SLoC