flow-ctrl コマンドリファレンス
flow-ctrlとはコマンドラインからフローの実行設定、実行を行うためのツールです。
flow-ctrlの各コマンドをスクリプトファイルに記述することでバッチ的に処理を実行することもできます。
起動方法
flow-ctrlの実行ファイルは[INSTALL_DIR]/flow/bin/flow-ctrl(.bat)にあります。起動時のオプションを指定しない場合は起動後にログインユーザー名とパスワードの入力をうながされるので、実行設定などを行うユーザー名とパスワードでログインしてください。
起動時のオプション
- -host:ホスト名
- 接続するフローサービスのホスト名。省略時は localhost
- -port:ポート番号
- 接続するフローサービスのポート番号。省略時は 21381
- -user:ユーザー名
-
ログインユーザー名。
省略時は起動後にユーザー名の入力を求められます。 - -password:パスワード
-
-userを指定した場合のパスワード。
パスワードが空文字の場合は不要です。 - -script:ファイル名
-
起動後に実行するスクリプト。
-scriptが指定された場合、スクリプト実行後すぐに終了します。 - -output:ファイル名
-
実行コンソールのログファイル名。
-outputが指定された場合、コンソールでの出力内容がすべて指定ファイルに記録されます。
相対パスの指定
引数にファイル名を相対パスで指定したときの起点は、以下のようになります。
flow-ctrlコマンドをフローサービスと同一マシンで実行する場合
flow-ctrlコマンドでログインしたフローサービスユーザーアカウントのホームディレクトリになります。
flow-ctrlコマンドをフローサービスと別マシンで実行する場合
- UNIXの場合
UNIXのログインユーザーのホームディレクトリ - Windowsの場合
C:\Documents and Settings\ユーザー名
(Vistaの場合はC:\Users\ユーザー名)
コマンドの使い方
凡例
コマンドとキーワード
概要説明
| 引数 | 引数の意味 または使用可能なワード |
|---|---|
| 区分 | 必須またはプレフィクス |
| 説明 | 説明 |
必須の引数は標準版で指定する必要があります。
オプションの引数は必須引数の後ろに順不同で指定することができます。
プレフィクスがある場合は「-username:guest」のように「プレフィクス:」に続けて指定します。
//コマンドサンプル //「//」で始まる行はコメント
コマンド一覧
| コマンド | 説明 |
|---|---|
| connect | ログイン |
| user | ユーザー名 |
| quit | flow-ctrlの終了 |
| regist project | プロジェクトの登録 |
| regist url | URL実行設定 |
| regist soap | SOAP実行設定 |
| regist schedule | 一度だけ実行するスケジュールの登録 |
| regist interval | 指定間隔で実行するスケジュールの登録 |
| regist daily | 毎日実行するスケジュールの登録 |
| regist weekly | 毎週実行するスケジュールの登録 |
| regist monthly | 毎月実行するスケジュールの登録 |
| unregist project | プロジェクトの登録解除 |
| unregist url | URL実行設定解除 |
| unregist soap | SOAP実行設定解除 |
| unregist schedule | スケジュール実行設定解除 |
| export | 実行設定のエクスポート |
| import | 実行設定のインポート |
| exec | フローの実行 |
| post | フローのポスト |
| resume | フローの再開 |
| kill request | フローの強制終了 |
| set session | セッションIDの設定 |
| set request-id | リクエストIDの設定 |
| set stream | フローの入力ストリームの設定 |
| list session | セッション一覧の表示 |
| list project | プロジェクト一覧の表示 |
| list url | URL実行設定一覧の表示 |
| list schedule | Schedule実行設定一覧の表示 |
| list soap | SOAP実行設定一覧の表示 |
| list project-pool | プロジェクトプール一覧の表示 |
| list worker | Worker一覧の表示 |
| list request | リクエスト一覧の表示 |
| list mutex | Mutex一覧の表示 |
| show project | プロジェクト詳細の表示 |
| show session | セッション詳細の表示 |
| show user | ユーザー詳細の表示 |
| show worker | Worker状態の表示 |
| show request | Request状態の表示 |
| clear aac | AACキャッシュのクリア |
| clear connection-pool | コネクションプールのクリア |
| clear project-pool | プロジェクトプールのクリア |
| upload | ファイルのアップロード |
| timing | コマンド実行時間の計測 |
| script | コマンドスクリプトを実行 |
| spool | コンソールのファイル出力 |
| alias | ワードの別名登録 |
| unlock mutex | Mutexロックの解除 |
| version | バージョン情報 |
| help | ヘルプ |
connect
| 引数 | 区分 | 説明 |
|---|---|---|
| ユーザー名 | 必須 |
|
| パスワード |
// /FlowService/guestとして接続 connect /FlowService/guset password
user
user
quit
quit
regist project
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクトファイル名 | 必須 |
|
| -s |
//サーバー上に既に存在するProject1.xfpを登録 regist project Project1.xfp -s
//ホームディレクトリのサブフォルダ「test」下に存在するProject2.xfpを登録 regist project test/Project2.xfp -s
regist url
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| URL | 必須 |
フロー実行URLのコンテキストパスに続く部分を指定する。 |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password |
//Flow1をデバッグモードで「/FLow1」と関連付ける regist url Project1 Flow1 /Flow1 -mode:debug
regist soap
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| メソッド名 | 必須 |
SOAPのTargetObjectURIは「urn:asteria-service-flowservice」になります。 |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password |
regist soap Project1 Flow2 Method1
regist schedule
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| DateTime | 必須 |
日時の書式はフローのDateTime型と同じです。 |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password | |
| 休日設定名 | -holiday | |
| Skip|Plus|Minus | -holidayaction |
//Flow3を2003年5月5日正午にスケジュール regist schedule Project1 Flow3 2003-05-05T12:00:00
regist interval
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| [[HH:]MM:]SS | 必須 |
例えば1時間10分5秒なら「1:10:5」のように「:」で区切って指定します。 「1000」のようにすべて秒で指定することも可能です。 |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password | |
| 休日設定名 | -holiday | |
| Skip|Plus|Minus | -holidayaction | |
| DateTime | -startdate | |
| DateTime | -enddate |
//Flow4を2時間30分おきに実行 regist interval Project1 Flow4 2:30:00
regist daily
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| HH:MM:SS | 必須 |
書式は時、分、秒を「:」で区切る形式となります。 |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password | |
| 休日設定名 | -holiday | |
| Skip|Plus|Minus | -holidayaction | |
| DateTime | -startdate | |
| DateTime | -enddate |
//Flow5を2003年5月の間毎日正午に実行 regist daily Project1 Flow5 12:00:00 -startdate:2003-05-01T00:00:00 -enddate:2003-06-01T00:00:00
regist weekly
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| HH:MM:SS | 必須 |
書式は時、分、秒を「:」で区切る形式となります。 |
| SUN|MON|TUE|WED|THU|FRI|SAT | -w | |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password | |
| 休日設定名 | -holiday | |
| Skip|Plus|Minus | -holidayaction | |
| DateTime | -startdate | |
| DateTime | -enddate |
//Flow6を毎週月曜と火曜の正午に実行 regist weekly Project1 Flow6 12:00:00 -w:MON -w:TUE
regist monthly
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| HH:MM:SS | 必須 |
書式は時、分、秒を「:」で区切る形式となります。 |
| 実行日 | -d | |
| normal|debug|profile | -mode | |
| 実行ユーザー名 | -user | |
| パスワード | -password | |
| 休日設定名 | -holiday | |
| Skip|Plus|Minus | -holidayaction | |
| DateTime | -startdate | |
| DateTime | -enddate |
//Flow7を毎月5日、15日、25日の正午に実行 regist monthly Project1 Flow7 12:00:00 -d:5 -d:15 -d:25
unregist project
そのプロジェクトの実行設定もすべて解除されます。
登録解除を行ってもxfpファイルは削除されません。
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
regist時にはファイル名を指定しますが、解除時にはプロジェクト名の指定になります。 |
//Project1を登録解除 urregist project Project1
unregist url
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| URL | 必須 |
|
//「/Test1」というURLに対する実行設定の解除 urregist url Project1 Flow1 /Test1
unregist soap
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| メソッド名 | 必須 |
|
//「Method1」というメソッドに対する実行設定の解除 urregist soap Project1 Flow1 Method1
unregist schedule
regist時にはスケジュールのタイプごとにキーワードが異なりますが、解除の場合は
すべてscheduleというキーワードになります。
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| スケジュールID | 必須 |
|
//IDに対応するスケジュールの解除 urregist schedule Project1 Flow1 0eb3b70243c44dad9d3397806f44ad23.scx
export
通常、実行設定ファイルの拡張子は「.xml」です。引数を指定する時に拡張子がない場合、自動的に「.xml」拡張子が補完されます。
| 引数 | 区分 | 説明 |
|---|---|---|
| エクスポートファイル名 | 必須 |
|
//実行設定のエクスポート export project.xml
import
| 引数 | 区分 | 説明 |
|---|---|---|
| インポートファイル名 | 必須 |
|
//実行設定のインポート import project.xml
exec
実行後はそのReturnValueと結果ストリームの文字列値が表示されます。
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| normal|debug|profile | -mode | |
| ファイル名 | -output | |
| パラメータ名=値 | -p | |
| -set |
//引数を指定してFlow1をプロファイルモードで実行 exec Project1 Flow1 -mode:profile -p:param1=v1 -p:param2=v2
post
execコマンドと異なり、フローの実行を開始するとその終了を待たずに直ちに制御が戻ります。
実行後はフロー実行のリクエストIDが表示されます。
また、そのリクエストIDはSet変数「request-id」に設定されます。
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
| フロー名 | 必須 |
|
| normal|debug|profile | -mode | |
| パラメータ名=値 | -p | |
| -suspend |
//Flow1を実行して開始直後にサスペンド状態にする post Project1 Flow1 -suspend
resume
コマンド実行後はフローの終了を待ってその結果ストリームを表示します。
リクエストが実行を完了している場合は何もしません。
| 引数 | 区分 | 説明 |
|---|---|---|
| リクエストID | ||
| タイムアウト | -timeout |
//Set変数「request-id」に設定されているリクエストを再開します。10秒待ってもフローの実行が終了しない場合は制御が戻ります。 resume -timeout:10
kill request
フローの強制終了はコンポーネントから次のコンポーネントに制御が移るタイミングで実行されるので、
ひとつのコンポーネントの処理が長時間かかるような場合にはすぐには終了しないことがあります。
強制終了に成功した場合は最後に実行されたコンポーネント名が表示されます。
| 引数 | 区分 | 説明 |
|---|---|---|
| リクエストID | 必須 |
このコマンドではリクエストIDの省略はできません。 |
| タイムアウト |
//指定のリクエストを強制終了します。10秒待っても終了しない場合は制御が戻ります。 kill request 6e8e4181-700f-4cf0-9274-e83be63184ae 10
set session
指定がない場合は実行毎に毎回セッションIDが生成されます。
※複数のクライアントから同一のセッションIDを指定して実行してもエラーとはなりませんが、
混乱の原因となるので可能な限りユニークな文字列を指定してください。
| 引数 | 区分 | 説明 |
|---|---|---|
| セッションID |
//これ以降のフローの実行のセッションIDを「SESSION-ID1」とする set session SESSION-ID1
set request-id
ここでIDを設定してもその値がexecやpostで使用されるわけではないのでこの変数に値を明示的に設定する必要はありません。
postコマンド実行時にはそのリクエストIDが自動的にこの変数に設定されます。
| 引数 | 区分 | 説明 |
|---|---|---|
| リクエストID |
set stream
| 引数 | 区分 | 説明 |
|---|---|---|
| BINARY|TEXT|HTML|ParameterList|Record|CSV|FixedLength|MIME|XML|NULL | 必須 |
NULL以外を指定した場合はオプションとしてファイル名の指定が必要です。 NULLを指定した場合入力ストリームなしになります。 |
| ファイル名 |
//次回のフローの実行の入力ストリームとしてxmldata.xmlを使用する set stream XML xmldata.xml
list session
リストされるアイテム
- セッションID
- 実行ユーザー名
- タイムアウトまでの時間
- Running
セッションが実行中の場合、Runningと表示されます。
list session
list project
フロー名は表示されません。
リストされるアイテム
- プロジェクトオーナー
- プロジェクト名
list project
list url
リストされるアイテム
- URL
- プロジェクト名
- フロー名
- 実行モード
- 実行ユーザー
list url
list schedule
表示されるのはスケジュールのIDのみで詳細は表示されません。
リストされるアイテム
- スケジュールID
- プロジェクト名
- フロー名
- 実行モード
- 実行ユーザー
list schedule
list soap
リストされるアイテム
- {TargetObjectURI}メソッド名
- プロジェクト名
- フロー名
- 実行モード
- 実行ユーザー
list soap
list project-pool
リストされるアイテム
- プロジェクトオーナー名
- プロジェクト名
list project-pool
list worker
リストされるアイテム
- スレッド番号
- リクエストID
フローが実行中でない場合は「wait」と表示されます。 - フロー名
リクエストされたフロー名 - セッションID
- リクエスト時刻
list worker
list request
リストされるアイテム
- リクエストID
- フロー名
リクエストされたフロー名 - セッションID
- リクエスト時刻
- 状態
「in queue」「runnging」「suspend」「end」のいずれか
list request
list mutex
リストされるアイテム
- MutexID
- ロック状態
タイミングによってはfalseと表示されることがありますが基本的にはtrueです
list mutex
show project
| 引数 | 区分 | 説明 |
|---|---|---|
| プロジェクト名 | 必須 |
|
show project Project1
show session
| 引数 | 区分 | 説明 |
|---|---|---|
| セッションID | 必須 |
|
show session ec1ec684-ce24-4d9f-bb5c-ad0efb76b5da
show user
show user
show worker
Workerがフローを実行中でない場合は何も表示されません。
表示する情報はオプションによって変更できます。
| 引数 | 区分 | 説明 |
|---|---|---|
| No | 必須 |
|
| -fv | ||
| -cp | ||
| -stream |
//すべての情報をつけてWorker2の状態を表示します。 show worker 2 -fv -cp -stream
show request
リクエストが実行を完了している場合は何も表示されません。
表示する情報はオプションによって変更できます。
| 引数 | 区分 | 説明 |
|---|---|---|
| リクエストID | ||
| -fv | ||
| -cp | ||
| -stream |
//Set変数「request-id」に設定されているリクエストの状態をすべての情報をつけて表示します。 show request -fv -cp -stream
clear aac
clear aac
clear connection-pool
clear connection-pool
clear project-pool
clear project-pool
upload
| 引数 | 区分 | 説明 |
|---|---|---|
| ファイル名 | 必須 |
|
| サーバーファイル名 |
//abc.txtと言うファイルをdef.txtと言う名前でホームディレクトリにアップロードします。 upload abc.txt def.txt
timing
| 引数 | 区分 | 説明 |
|---|---|---|
| on|off | 必須 |
|
//コマンド処理時間を表示するモードに変更 timing on
script
| 引数 | 区分 | 説明 |
|---|---|---|
| ファイル名 | 必須 |
|
| エンコーディング |
//script.txtというスクリプトファイルを実行します script script.txt
spool
ファイルへの書き込みはすべて追加書き込みになります。
| 引数 | 区分 | 説明 |
|---|---|---|
| on|off|ファイル名 | 必須 |
ファイル名を指定した後はon, offで出力を停止再開できます。 |
//flow-ctrl.logというファイルに実行ログを出力します spool flow-ctrl.log
alias
コマンドが入力された場合、最初に各単語のエイリアスを変換し、その後プロセッサーに渡されます。
初期状態で「quit」の別名として「exit」が登録されています。
| 引数 | 区分 | 説明 |
|---|---|---|
| WORD1 | 必須 |
|
| WORD2 | 必須 |
|
//「XMLをテストするフロー」という単語の別名として「xmlTestFlow」を登録します alias xmlTestFlow XMLをテストするフロー
unlock mutex
| 引数 | 区分 | 説明 |
|---|---|---|
| MutexID | 必須 |
|
unlock mutex /guest.Project1.Flow1
version
//バージョン情報を表示します。 version
help
| 引数 | 区分 | 説明 |
|---|---|---|
| コマンド名 |
//execコマンドのヘルプを表示します。 help exec