enebular の活動限界について(2023 年 2 月 制限緩和に関して追記)

今回はenebularの「活動限界」についてです。

enebularを使い始めてしばらくすると、Evangelionの「活動限界」のようなセッション時間の制限があることに気づくと思います。使い始めの方から、「60分で使えなくなるのが嫌だ」と言われることがたまにあります。実はちょっとした手間をかければ、動かなくなってしまうことはありません。

【2023年2月28日 追記】

Ver. 2.35.1のリリースに伴い、webフローエディターの1セッションあたり60分の制限が緩和され、240分(4時間)となりました。詳しくは、「enebular 、web フローエディターの時間制限が緩和されました」をご覧ください。


今回の内容


制限時間について

WEBブラウザでenebularのフローエディタを使っている際には、1セッションは「60分まで」となっています。ここでいう「1セッション」は、ダッシュボードから編集するフローを選択し、「Edit」ボタンを押してフローエディタが起動してから始まります。

フローエディタ起動後に「デプロイ」ボタンの左側にある、(i)アイコンにマウスポインターを重ねてみると、下の図のような情報が分かります。

mouse over
詳細は ↓ をご覧ください
session time detail
enebularのWEB版フローエディタで表示される情報

一番下の行にある「Session Remaining Time: 41m 27s」が、現在のセッションの残り時間です(この場合は残り41分27秒)。

enebularのフローは、コラボレーションのためにほかの人に権限を付与して開発できますが(参照「アクセス権の編集」)、WEBブラウザのどこかのタブでフローを開いたままだと権限を付与してもほかの人が編集できません。

Conflict Error
ほかの人がフローを編集しているとメッセージが出ます

これを回避するために、60分で一度セッションを終了するようになっています。フローエディタを閉じ忘れていても60分でセッションが終了するため、ほかの人も編集できます。

回避策

「ほかの人とコラボレーションで開発しない」とか「このフローは自分しか開発しない」際に、継続してフローエディタで編集(開発)したい場合の回避策はシンプルです。

a. WEBブラウザで再読込する

60分経過してしまう前に「デプロイ」ボタンを押してから、Macでしたら「command + R」、Windowsでしたら「Ctrl + R」で再読込します。デプロイ ボタンを押さずに再読込すると保存前ですので編集内容が消えてしまいます。

Reload web browser
デプロイしてあることを確認して実行します。

「いつのタイミングで再読込したらいいのか?」と疑問に思うかも知れませんが、enebularは「セッション時間が切れる(タイムアウト)」の「15分前」と「5分前」にそれぞれアラート メッセージを出していますので、このタイミングで しつこいようですが「デプロイ」を押してからWEBブラウザで再読込してください。

15分前アラート

15 minutes left to session close
このメッセージが表示されたら、タイミングの良いときにデプロイで保存しましょう。

5分前アラート

こちらが表示されたら、まずデプロイで保存し、WEBブラウザの再読込をしてください。

b. enebular editorを使う

「60分ごとに再読込するのは面倒」という場合には、デスクトップ アプリケーションである、enebular editorをお使いください。Mac版とWindows版があります。【こちら】からダウンロードしてインストールしてください。

enebular editorを使う場合、60分のセッション タイムアウトはありません。フローを編集中にランチ休憩を60分以上取ってからデスクに戻って来ても、セッション タイムアウトせずにそのままです。enebular editorなら、AWS IoTやArm Pelionで接続された機器にあるフローにリモートからアクセスして編集できます(「リモートモードでフローを読み込み」を参照)。

ただし、WEB版のフローエディタにある「(i)アイコン」がありませんので、一時的なエンドポイント(URL)が必要な場合には、いったんenebular editorでの編集を終了し、WEB版のフローエディタから該当のフローを開いてご利用ください。enebular editorでもフローは常にクラウドに保管されるので、WEB版でも意識することなく同一のフローを編集できます。

メモ:一時的なエンドポイントについて

(i)アイコンにマウスポインターを合わせると表示される「一時的なエンドポイント」のURLは、フローエディタで開発するアプリケーションのWEBブラウザでのテストなどで使われることがあります。このURLは同一セッション時間内は同一でありますが、別のセッション(フローエディタを終了した後に再度ダッシュボードからフローを編集する場合や、WEBブラウザの再読込でセッション時間を延長(=リセット)した場合)では、同一であることは保証されませんのでご注意ください。

タイムアウトしてしまった場合

先ほど例に挙げたようなケース(ランチ休憩を60分以上〜)で、制限時間が過ぎてしまった場合には、画面に下記のようなメッセージが出ています。

session timeout
残り時間が無くなってセッションが終了した際のメッセージ

ランチ前にしっかりと保存(デプロイ)しておいてあれば問題ありません。WEBブラウザの再読込でセッションが再開され、フローが読み込まれます。

pleas reload web browser
お使いのWEBブラウザによって若干メッセージは異なります

最後に

オフィス製品など他のアプリケーションの作業途中に「こまめに保存が必要」ということはよく言われますが、enebularでも同様に「こまめにデプロイ」してください。デプロイはフローの「実行」ですが、まずフローが保存されます。フローが保存されていれば、タイムアウトしてしまってからWEBブラウザの再読込をしても、フローエディタの起動後にフローも読み込まれて編集を継続できます。15分前、あるいは5分前のアラートが出たタイミングで「デプロイ+再読込」していただくようにすれば安全です。

素敵なアイデアを簡単に形にするお手伝いがenebularでできますように。