コンテンツにスキップ

Process を書く

引数に 1 を足して返すだけの Process を例にします。関数(または manifest)の名前が Process の型名になります。

use juiz_sdk::prelude::*;
#[juiz_process]
fn increment_process(arg1: i64) -> JuizResult<Capsule> {
log::trace!("increment_process({:?}) called", arg1);
return Ok(jvalue!(arg1 + 1).into());
}

#[juiz_process] マクロを付けた関数が Process の本体になります。 引数は複数使えて、i64、f64、bool、String、Value、Vec<Value> などを受け取れます。引数の名前がそのままパラメータ名になります。

ビルドしたファイルを --process で指定し、-e で実体化して実行します。

ターミナルウィンドウ
juiz --process target/debug/libincrement_process.so -l rust -e -1 -d
  • -l は言語(rust / cpp / python、既定は rust)
  • -e はロードした Process を一つ実体化し、既定の引数で実行
  • -1 はロードしたモジュールごとにインスタンスを一つ作成
  • -d は実行後に HTTP ブローカーを立てて待機