SuperAPI AI 工具集

iii-functions-and-triggers

智能体与模型

查看项目

更新于 10-15 22:17

技能介绍

用途:在 iii 引擎中注册函数与触发器,适用于创建 worker、注册函数处理器、绑定事件源,以及跨 TypeScript、Python、Rust 调用函数。可比作 Serverless 函数运行时、Lambda、Cloud Functions。

主要概念与能力:Function 是以唯一 ID 注册的异步处理器;Trigger 把事件源绑定到函数,类型包括 http、durable:subscriber、cron、state、stream、subscribe;函数通过 trigger() 调用其他函数,与语言或 worker 位置无关;引擎自动处理序列化、路由和投递;HTTP 调用型函数可把外部端点包装为可调用函数 ID。函数可声明请求/响应格式用于文档与发现:Rust 经 schemars::JsonSchema、Python 经类型注解/Pydantic 自动生成,Node.js 手动提供。

架构与原语:registerWorker() 连接 worker 到引擎,registerFunction 定义处理器,registerTrigger 绑定事件源,引擎将事件路由到正确函数;trigger() 同步调用、TriggerAction.Void() 即发即弃、TriggerAction.Enqueue({ queue }) 经队列做持久异步调用。

常见用法(命令保持原样):registerWorker('ws://localhost:49134', { workerName: 'my-worker' });registerFunction('namespace::name', async (input) => { ... });registerTrigger({ type: 'http', function_id, config: { api_path, http_method, middleware_function_ids? } });durable:subscriber 配 topic;cron 配 expression;state 配 scope、key;stream 配 stream;subscribe 配 topic;可加 metadata。函数 ID 建议用 namespace::name。

适用场景:注册函数、绑定触发器、跨语言调用。限制:HTTP 端点细节优先 iii-http-endpoints,队列处理优先 iii-queue-processing,cron 优先 iii-cron-scheduling,调用模式优先 iii-trigger-actions;不可作无关任务的通用兜底;应用示例前需确认环境与安全约束。参考实现见 TypeScript、Python、Rust 对应 references 文件。具体收费、价格、平台与部署要求暂未提供。