パイプライン設定ファイル
パイプライン設定ファイルは、デバイスコネクターで行いたい処理をエレメントの組み合わせで定義したものです。
以下の設定例では、 text-src
エレメントにより定義されたタスクから100msごとに“Hello, World!”という文字列を送出し、 stdout-sink
エレメントにより定義されたタスクがそれを受け取って標準出力に出力します。
また、プラグインファイル libdc_my_plugin0.so
をロードするように設定しています。
runner:
channel_capacity: 16
plugin:
plugin_files:
- /path/to/my/plugin0/libdc_my_plugin0.so
tasks:
- id: 1
element: text-src
conf:
text: "Hello, World!"
interval_ms: 100
- id: 2
element: stdout-sink
from: [[ 1 ]]
conf:
separator: "\n"
設定項目の詳細は以下のとおりです。
runnerの設定
パイプライン設定ファイルの runner:
には、デバイスコネクターの実行パラメータを記述します。
項目 |
設定値 |
説明 |
---|---|---|
channel_capacity |
整数値 |
スレッド間のメッセージ送信に用いるチャンネルの容量(メッセージの個数)です。 これを超える容量のメッセージを送信しようとすると、受信側でメッセージが処理されるまで送信側のスレッドは処理がブロックされます。 省略した場合デフォルトの値が使用されます。 |
bg_processesの設定
bg_processes:
- command: /background/process/path args
バックグラウンドで実行するコマンドを指定します。タスクの開始時に before_task
の前に起動されます。
before_taskの設定
before_task:
- command1
- command2
タスクの開始前に実行されるコマンドを指定します。 bg_processes
と異なり、起動されたプロセスが終了するまでタスクの開始はブロックされます。
after_taskの設定
after_task:
- command1
- command2
デバイスコネクターの終了時、タスクの終了後に実行されるコマンドを指定します。
pluginの設定
パイプライン設定ファイルの plugin:
には、実行時にロードするプラグインについて設定します。
独自エレメントをプラグイン形式で作成した場合、ここでそのファイルを指定します。 独自エレメントについては、 独自エレメントの開発 を参照してください。
項目 |
設定値 |
説明 |
---|---|---|
plugin_files |
文字列の配列 |
ロードしたいプライグインファイル(例:libdc_xxx.so)へのパスのリストです。 |
tasksの設定
タスクの設定は、 tasks:
内に並列に記述します。
項目 |
設定値 |
説明 |
---|---|---|
id |
整数値 |
タスクに割り当てるIDです。これはこのパイプライン上で一意でなくてはなりません。 |
element |
文字列 |
このタスクに割り当てるエレメントを指定します。 |
from |
文字列の二次元配列 |
このタスクが受け取るメッセージの送信元を指定します。
メッセージは非同期に送られます。 例えば、
ポート番号が0の場合、ポート番号を省略して |
重要
from
に設定する送信元のタスクIDは、自身のタスクIDより小さい数字である必要があります。
エレメントによっては、独自の設定項目も存在します。エレメント独自の設定項目は、 conf:
に記述してください。