Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

OOMOL Studio's workflow engine, implemented in Rust.

License

NotificationsYou must be signed in to change notification settings

oomol/oocana-rust

Repository files navigation

github-actionsreleasereadme_zh-cn

OOMOL Studio's workflow engine, implemented in Rust.

Install Executor

To runJavaScript/TypeScript blocks like in OOMOL Studio, you need to install@oomol/node-executor.

npm install -g @oomol/node-executor @oomol/oocana-sdk# check nodejs-executor is added to $PATHwhich nodejs-executor

To run Python blocks like in OOMOL Studio, we need to installoocana-python-executor. You can installpython-executor viapip install python-executor.Typically, Python dependencies are installed in virtual environments, and package managers will addpython-executor to $PATH (this behavior may vary depending on the package manager).

# activate python virtual environmentpip install oocana-python-executor oocana# check python-executor is added to $PATHwhich python-executor

How to Use

This project produces a CLI executable program that supports multiple subcommands, among which therun subcommand supports executing flow.

  • install a mqtt broker and start it
# for macos: brew install mosquittoapt update&& apt install -y mosquitto# start mosquitto with port 47688 in background. If you want run mosquitto in foreground, you can remove -d option.mosquitto -d -p 47688
  • run oocana command

During development, usecargo run instead of the executable file, such as therun subcommand:

cargo run run examples/base

examples has multiple examples, you can try them.

you can download different platform oocana binary fromgithub release

Usage instructions can be viewed throughcargo run help.

Build Binary for Current System Architecture

  1. Install Rust.
  2. Executecargo build --release at the project root.
  3. The output will be attarget/release/oocana.

clean:

cargo clean

Log

release version won't print log to stdout and stderr. For user who want to see log in stdout and stderr, you can need pass--verbose forrun subcommand.

You can find allrun subcommand logs in~/.oocana/session/<session_id>/. Session id need to be replaced with the actual session id, if not given, oocana will generate a new random session id. For user who want to specify session id, you can pass--session <session_id> forrun subcommand.

Project Structure

This project uses a workspace (monorepo) structure.

  • cliConfigures command line parameters
  • coreHandles core scheduling business
  • examplesA demo showing how to execute
  • mainframeManages communication between this program and executed block subprocesses
  • manifest_readerResponsible for reading flow diagrams and block meta information from YAML files and processing them into internal structures for core to use
  • sdkOocana block SDK implemented in Rust, used for testing this project
  • srcRust program entry point
  • testsProject tests
  • utilsReusable utility methods for this project
  • npmPackages binaries for different environments as NPM packages

About

OOMOL Studio's workflow engine, implemented in Rust.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp