制約事項
WHEELの仕様上の制限について説明します。
リモートタスクがシグナルによって終了した場合
リモートホストで実行中のプロセスがシグナルによって終了した場合、WHEELの仕様上、リモートのシグナル番号を補足できないため正常終了と判断されます。
タスクの種類について 各種タスクを表す用語の意味は以下の通りです。
用語 | 意味 |
---|---|
ローカルタスク | localhostで実行するタスクを表します。 |
リモートタスク | リモートホストで実行するタスクを示します。 バッチシステムは利用しません。 |
リモートジョブタスク | バッチシステムを使用し、リモートホストで実行するタスクを表します。 |
プロジェクトを停止した場合における実行中スクリプトの取り扱い
プロジェクトの停止ボタンによってプロジェクトを停止した場合、WHEELに設定されたスクリプトは停止されますが、スクリプトから呼び出された子プロセスは停止されません。
巨大なファイルの取り扱いについて
WHEELではプロジェクトで取り扱うデータをgitで管理しています。 そのため、大サイズのファイルをプロジェクトディレクトリ内に配置すると、リポジトリ操作のパフォーマンス低下により様々なトラブルが生じます。 この問題を回避するため、WHEELのグラフビューからアップロードした一定サイズ以上のファイルについては git LFS による管理の対象とするように設定します。 WHEEL以外の手段でプロジェクトのgitリポジトリにファイルを追加した場合、サイズによっては正常に操作できなくなる可能性があるので注意してください。
input/outputコネクタを接続した状態でのコネクタ名称の変更について
複数のoutputコネクタを1つのinputコネクタに接続してる状態で、inputコネクタの名称変更を行なうと、同時に複数の名称変更処理が行われるためコンポーネントの整合性が取れなくなる場合があります。 input/outputコネクタの編集を行う際は、接続を解除してから実施してください。
Windows環境での操作
WHEELの動作環境がWindowsOSのとき、プロジェクトのdeleteを実行するとエラーが表示される場合があります。 このときdeleteしたプロジェクトはプロジェクトリストから削除されますが、実データは削除されません。手動にて削除してください。
holdingおよびunknown状態について
プロジェクトにジョブを投入するタスクが含まれていると、プロジェクトの状態がholdingまたはunknown状態となることがあります。 holding状態は、ジョブの投入後終了を確認する前に、WHEELのプロセスが終了してしまった時に遷移します。 この状態では、プロジェクトの実行は一時停止していますがプロセスが終了する前に投入したジョブの終了確認のみを行なっています。 全てのジョブが終了した段階で、unknown状態に遷移します。
unknown状態は、プロジェクトの状態が確認できない状態を意味します。 前述のholding状態から遷移してきた場合は、個々のコンポーネントの状態を確認して全てのタスクが完了しているかどうかを確認してください。 終了していないタスクが存在する時は、そのままプロジェクトを再実行すると未実行およびfailed状態のコンポーネントのみが再実行されます。
また、ジョブを投入した後の状態確認処理に失敗した場合(e.g. 一時的な障害などでバッチシステムへの接続が行なえなかったときなど)にもunknown状態になります。 この場合は、unknown状態となったタスクが正常に終了しているかどうかを直接ジョブ投入先サーバへログインするなどして確認し、必要なファイルがあればコピーしてきてください。
既存プロジェクトの読み込みについて
WHEELは、プロジェクトリストに載っていない既存のプロジェクトを読み込む際に、全ての変更をgitリポジトリにコミットします。 このため、読み込むプロジェクトまたはプロジェクトに含まれるコンポーネントが”not-started”以外の状態だった場合、プロジェクトのcleanを行なっても再実行できなくなります。 したがって、読み込み前にプロジェクトおよびコンポーネントのstateを確認してから実行してください。
ssh接続時に”Control socket creation failed” というエラーが発生した場合
WHEELのdockerコンテナを起動するホストOSとWHEELのコンテナで${HOME}/.ssh ディレクトリを共有している時に ssh接続を行なおうとすると、”Control socket creation failed” というエラーが発生することがあります。 この場合、dockerコンテナ起動時のオプションに次のように環境変数を指定することで回避できる可能性があります。
-e SSH_CONTROL_PERSIST_DIR=/tmp
本問題は、WHEELが使用するsshライブラリがmultiplex接続用のsocketファイルを生成する際に
生成場所がホストOSと共有されている時に発生するようです。
本オプションの指定により、環境変数 SSH_CONTROL_PERSIST_DIR
で指定されたディレクトリの下に
socketファイルを生成するようになるため、問題が回避できます。