obelisk
v0.7.0
构建在 WASM 组件模型之上的确定性工作流引擎
这是预发行版。
该存储库包含用于本地开发和测试的后端代码。该软件不提供 CLI、gRPC 或数据库架构的向后兼容性保证。
活动必须是幂等的(可重试),以便可以随时停止并重试。该合同必须由活动本身履行。
确定性工作流程
WASI 网络钩子
窃取工作的执行者
CONTAINER_ID= $( docker run -d getobelisk/obelisk )
docker logs --follow $CONTAINER_ID | grep " Serving gRPC requests "
docker exec $CONTAINER_ID obelisk client component list
# See Usage for more details
从 GitHub 版本页面下载最新版本。
使用cargo-binstall下载
cargo binstall --locked obelisk
或使用货物构建
cargo install --locked obelisk
nix --extra-experimental-features nix-command --extra-experimental-features flakes run github:obeli-sk/obelisk
obelisk server generate-config
obelisk server run
obelisk client component list
# Call fibonacci(10) activity from the workflow 500 times in series.
obelisk client execution submit testing:fibo-workflow/workflow.fiboa ' [10, 500] ' --follow
obelisk
应用程序作为 Linux 二进制文件启动并运行cargo-binstall
-await-next
从任何执行结果(例如陷阱、超时、错误变体)映射到其他执行结果LimitReached
上减慢速度使用 nix flakes 设置开发依赖项:
nix develop
# or `direnv allow`, after simlinking .envrc-example -> .envrc
或者手动下载所有依赖项,参见dev-deps.txt和基于Ubuntu验证的Dockerfile运行程序
cargo run --release
./scripts/test.sh
madsim
模拟器进行确定性测试./scripts/test-madsim.sh
该项目有一个路线图,并且按一定顺序添加和测试功能。如果您想贡献某个功能,请在 GitHub 上讨论该功能。为了让我们接受补丁和其他贡献,您需要采用我们的贡献者许可协议(“CLA”)。可以在此处找到 CLA 的当前版本。