「pione-client」の版間の差分

提供: Eospedia
移動: 案内検索
行67: 行67:
 
<td>URI</td>
 
<td>URI</td>
 
<td></td>
 
<td></td>
<td>Receiver address that notifications are received at</td>
+
<td>通知を受けるアドレス:ポート番号(ポート番号は省略可)</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行73: 行73:
 
<td>URI</td>
 
<td>URI</td>
 
<td></td>
 
<td></td>
<td>Target address that notifications are sent to</td>
+
<td>通知として送信するブロードキャストアドレス:ポート番号(ポート番号は省略可)</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>--params</td>
 
<td>--params</td>
<td></td>
+
<td>[[#オプション --params]]参照</td>
<td></td>
+
<td>なし</td>
<td>Set user parameters(--params="{Var:1,...}")</td>
+
<td>パラメータの設定</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行90: 行90:
 
<td>--rehearse</td>
 
<td>--rehearse</td>
 
<td>[SCENARIO]</td>
 
<td>[SCENARIO]</td>
<td></td>
+
<td>デフォルトシナリオ</td>
<td>rehearse the scenario</td>
+
<td>パッケージ内で実行するシナリオ名</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行103: 行103:
 
<td>N</td>
 
<td>N</td>
 
<td></td>
 
<td></td>
<td>Set request number of task workers</td>
+
<td>タスクワーカの要求数</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行115: 行115:
 
<td>なし</td>
 
<td>なし</td>
 
<td>なし</td>
 
<td>なし</td>
<td>Turn on stand alone mode</td>
+
<td>スタンドアローンモード</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行121: 行121:
 
<td>[BOOLEAN]</td>
 
<td>[BOOLEAN]</td>
 
<td></td>
 
<td></td>
<td>Turn on/off stream mode</td>
+
<td>ストリームモード</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行127: 行127:
 
<td>N</td>
 
<td>N</td>
 
<td></td>
 
<td></td>
<td>Set task worker size that this process creates</td>
+
<td>タスクワーカの最大プロセス起動数</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
 
<td>--timeout</td>
 
<td>--timeout</td>
 
<td>SEC</td>
 
<td>SEC</td>
<td></td>
+
<td>0</td>
<td>timeout processing after SEC</td>
+
<td>タイムアウト設定(秒)(0のときはタイムアウトしない)</td>
 
</tr>
 
</tr>
 
<tr>
 
<tr>
行278: 行278:
 
</pre>
 
</pre>
 
MultiplyingInput内のデータを入力としてprocess/input内にコピーし、処理を実行しています。<br>
 
MultiplyingInput内のデータを入力としてprocess/input内にコピーし、処理を実行しています。<br>
 +
<br>
 +
 +
=== オプション --params ===
 +
 +
<pre>
 +
</pre>
 
<br>
 
<br>

2014年12月11日 (木) 06:51時点における版

pione-clientとはPIONE定義書やパッケージから処理を実行するPIONEコマンドです。

オプション一覧

オプション デフォルト 説明
引数 location 必須 実行するPIONE定義書またはPIONEパッケージ
-b LOCATION ./process/ 処理のベースディレクトリ
--client-ui TYPE Type of the client's user interface
--communication-address URI プロセス間通信で使用するIPアドレス:ポート番号
--dry-run なし なし ドライランモード
--features FEATURES 特性
--file-cache-method NAME simple ファイルキャッシュ方式名: simple, no_cache
--file-sliding [BOOLEAN] ファイルスライド処理
-i LOCATION Set input directory
--notification-receiver URI 通知を受けるアドレス:ポート番号(ポート番号は省略可)
--notification-target URI 通知として送信するブロードキャストアドレス:ポート番号(ポート番号は省略可)
--params #オプション --params参照 なし パラメータの設定
--parent-front URI set parent front URI
--rehearse [SCENARIO] デフォルトシナリオ パッケージ内で実行するシナリオ名
--request-from URI URI that the client requested the job from
--request-task-worker N タスクワーカの要求数
--session-id ID Session id of the job
--stand-alone なし なし スタンドアローンモード
--stream [BOOLEAN] ストリームモード
-t N タスクワーカの最大プロセス起動数
--timeout SEC 0 タイムアウト設定(秒)(0のときはタイムアウトしない)
--color BOOLEAN true 出力結果の文字に色を付ける
--debug [TYPE] system デバッグモードで実行
-h [FORMAT] txt ヘルプを表示
-v なし なし バージョンを表示

実行例

オプション必須項目のみの場合

引数にPIONE定義書を指定して実行します。

$ pione-client HelloWorld.pione
  ==> &Anonymous:Root([],{})
    --> Rule Application: &Anonymous:Root([],{})
      --> Distribution: &Anonymous:Root([],{})
            >>> &Anonymous:Main([],{})
  ==> &Anonymous:Main([],{})
   SH ------------------------------------------------------------
   SH 	echo "Hello PIONE world !" > message.txt
   SH ------------------------------------------------------------
      <-- Distribution: &Anonymous:Root([],{})
  <== &Anonymous:Main([],{})
    <-- Rule Application: &Anonymous:Root([],{})
  <== &Anonymous:Root([],{})
$ ls ./process/
output			pione-process.log
$ cat ./process/output/message.txt 
Hello PIONE world !

-b指定なしなので、processディレクトリが作成され、その中に入力(今回は無い)、出力、ログが格納されます。

オプション -b

-bにてディレクトリ名を指定して実行します。

$ pione-client HelloWorld.pione -b BaseDir
  ==> &Anonymous:Root([],{})
    --> Rule Application: &Anonymous:Root([],{})
      --> Distribution: &Anonymous:Root([],{})
            >>> &Anonymous:Main([],{})
  ==> &Anonymous:Main([],{})
   SH ------------------------------------------------------------
   SH 	echo "Hello PIONE world !" > message.txt
   SH ------------------------------------------------------------
  <== &Anonymous:Main([],{})
      <-- Distribution: &Anonymous:Root([],{})
    <-- Rule Application: &Anonymous:Root([],{})
  <== &Anonymous:Root([],{})
$ ls BaseDir/
output			pione-process.log
$ cat BaseDir/output/message.txt 
Hello PIONE world !

BaseDirディレクトリが作成され、その中に結果などが格納されています。

オプション --dry-run

$ pione-client HelloWorld.pione --dry-run
  ==> &Anonymous:Root([],{})
    --> Rule Application: &Anonymous:Root([],{})
      --> Distribution: &Anonymous:Root([],{})
            >>> &Anonymous:Main([],{})
  ==> &Anonymous:Main([],{})
   SH ------------------------------------------------------------
   SH 	echo "Hello PIONE world !" > message.txt
   SH ------------------------------------------------------------
      <-- Distribution: &Anonymous:Root([],{})
    <-- Rule Application: &Anonymous:Root([],{})
  <== &Anonymous:Root([],{})
  <== &Anonymous:Main([],{})
$ ls ./process/
output			pione-process.log
$ cat ./process/output/message.txt 
$ 

ドライランモードではシェルスクリプトの実行をせず、出力ファイルを空ファイルで作成します。

オプション -i

-iにて入力データ用のディレクトリ名を指定して実行します。

Multiplying.pione

 Rule Main
 	input 'test.in'
 	output 'test.out'
 Action 
 	awk '{ print $1*2 }' {$I[1]} > {$O[1]} 
 End

上記のPIONE定義書は入力データtest.inを必要としていますので、test.inのディレクトリ名を相対パスで設定します。

MultiplyingInput内

$ ls MultiplyingInput
test.in


実行結果

$ pione-client Multiplying.pione -i MultiplyingInput/
  ==> &Anonymous:Root([.DS_Store,test.in],{})
    --> Rule Application: &Anonymous:Root([.DS_Store,test.in],{})
      --> Distribution: &Anonymous:Root([.DS_Store,test.in],{})
            >>> &Anonymous:Main([test.in],{})
  ==> &Anonymous:Main([test.in],{})
   SH ------------------------------------------------------------
   SH 	awk '{ print $1*2 }' test.in > test.out 
   SH ------------------------------------------------------------
      <-- Distribution: &Anonymous:Root([.DS_Store,test.in],{})
  <== &Anonymous:Main([test.in],{})
    <-- Rule Application: &Anonymous:Root([.DS_Store,test.in],{})
  <== &Anonymous:Root([.DS_Store,test.in],{})
$ ls process/
input			output			pione-process.log
$ ls process/input/
test.in

MultiplyingInput内のデータを入力としてprocess/input内にコピーし、処理を実行しています。

オプション --params