実行要求とキュー
実行要求とキュー
実行ボタンがクリックされると、直ちに実行キューが作成されます。実行キューが作成されると、割当可能な空きロボットが検索され、ロボットに空きがあればキューが実行されます。空きが無ければ、キューはキューのまま残され、実行中のワークフローが完了するタイミングで再度ロボットの割当を試みる様になっています。
キュー
キューは、まだ実行されていない実行要求のことです。画面上は、キューもセッションメニューから一覧で表示することができます。キューはまだ実行されていないので、いつでもキャンセル(削除)することができます。キューが実行されると、セッションが生成され、キューはセッションに昇格します。一つのキューは、一つのセッションのみと関連できるようになっています。
セッションと試行
セッションは、実際にロボットが起動し始める前に生成される実行計画のことです。セッションが生成されたタイミングでロボットが割り当てられていますので、ロボットの起動とセッションの生成は同時と考えても問題がありません。一つのセッションは、一つの試行と関連付けられているため、セッションと試行は同一のものとみなすことができます。敢えて違いを説明すると、セッションは、実行計画ですので実行前の状態を指し。試行は、実行中の状態を管理しています。もしセッションが複数の試行と関連できるような場合には、複数の試行は、実行前の状態を共有しているが、実行中の状態は共有していない、つまり、成功・失敗などの結果もそれぞれ異なる可能性があるということになります。
セッションの強制終了(KILL)
実行中のセッションは、途中で終了させることができます。「停止」ボタンを押すと、以降の実行計画があるタスクが、Canceledの状態になり、以降のタスクが実行されません。すでに実行中のタスクは、完了するまで待ちます。
セッションの異常終了
通常、実行中のセッションは、SuccessもしくはErrorの状態で終了します。稀に、このどちらでもない状態で終了することがあります。これは、アプリケーションではなく、インフラストラクチャを管理しているシステムで強制終了されるときに発生します。この異常終了が出るのは次のパターンのときです。
- OOMKilled(ロボットに許容されるメモリ上限を超えた時の強制終了) ロボットは、十分な使用メモリを許容されていますが、ある水準を超える(この水準は随時見直されています)とロボットが強制削除されます。最もメモリを使用するアクションは、Chrome系のアクションですが、Chromeを10個程度立ち上げても十分なメモリを許容しています。OpenBrowserで開いたChromeは、CloseBrowserで閉じるとメモリが解放されます。
セッションの有効期限
ロボットは、一定の時間ユーザー情報へのアクセスが許可されています。この時間を越えるとロボットがユーザー情報にアクセスすることができなくなり、外部API連携の際に認証が失敗するようになります。2019年9月1日時点では、有効期限を10時間に定めています。