コラボレーション・サーバーの内部動作の設定

こちらのノートでは、コラボレーション・サーバーの内部的な動作についての設定について説明します。

Nginxの設定

コラボレーション・サーバーのフロントエンドで、HTTPリクエストを受け取っているNginxサーバーの設定情報です。Nginxサーバーのコラボレーション・サーバー内での役割についてはこちらのノートをご覧ください。

コラボレーション・サーバーの圧縮ファイルを展開したときに作成された、exploratoryディレクトリの下の、default.confファイルの中の値を書き換えることによって設定します。

client_max_body_size

クライアント(ウェブブラウザ、またはExploratoryデスクトップ)から送信されるHTTPリクエストのサイズがこの値を超えると、HTTPリクエストは拒否されます。

コラボレーション・サーバーでは、大きいサイズのEDFファイルのアップロードに対応できるよう、デフォルト設定でこちらの制限を解除しています。

  • Nginxのデフォルト値: 1m (1 Mbyte)
  • コラボレーション・サーバーのデフォルト設定: 0 (上限なし)

proxy_read_timeout

NginxがExpressから返送される情報を受け取る際に、この時間を超えて読み込みが滞ると、接続が切断されます。

コラボレーション・サーバーでは、大きいサイズのEDFファイルのアップロードに対応できるよう、デフォルト設定でこの時間を延長しています。

  • Nginxのデフォルト値: 60s (60秒)
  • コラボレーション・サーバーのデフォルト設定: 1200s (1200秒 = 20分)

proxy_send_timeout

NginxがExpressに向けて情報を送信する際に、この時間を超えて書き込みが滞ると、接続が切断されます。

コラボレーション・サーバーでは、大きいサイズのEDFファイルのアップロードに対応できるよう、デフォルト設定でこの時間を延長しています。

  • Nginxのデフォルト値: 60s (60秒)
  • コラボレーション・サーバーのデフォルト設定: 1200s (1200秒 = 20分)

インタラクティブ・セッションに関する設定

このセクションでは、インタラクティブ・セッションの内部的な動作に関する設定情報を説明します。

インタラクティブ・セッションの内部的な動作の概要についてはこちらのノートをご覧ください。

以下で説明するの設定項目は、コラボレーション・サーバーの圧縮ファイルを展開したときに作成された、"exploratory" ディレクトリの直下にある、docker-compose.ymlファイルの"exploratory"コンテナの設定の中の"environment"の項目として設定することができます。

設定例 : EXPL_INTERACTIVE_SESSION_USER_TIMEOUTを1800000 (30分) に設定する場合 :

exploratory:
    ...
    environment:
      ...
      - EXPL_INTERACTIVE_SESSION_USER_TIMEOUT=1800000
      ...

EXPL_INTERACTIVE_SESSION_USER_TIMEOUT

こちらで設定した時間、ユーザーからの操作がないとき、インタラクティブ・セッションは終了します。また、ユーザーがパラメータを変更して実行ボタンをクリックした後の、データ更新と再計算が、この時間を超えたときもインタラクティブ・セッションは終了します。

  • 単位: ミリ秒
  • デフォルト値: 900000 (15分 = 15 * 60 * 1000)

EXPL_INTERACTIVE_SESSION_TIMEOUT

インタラクティブ・セッション中で発行される, 個々のRのコマンドの実行時間がこちらで設定された値を超えると、インタラクティブ・セッションは終了します。

  • 単位: ミリ秒
  • デフォルト値: 3000000 (50分 = 50 * 60 * 1000)

EXPL_INTERACTIVE_SESSION_INIT_TIMEOUT

インタラクティブ・セッションをオンにするスイッチをクリックしてからインタラクティブ・セッションが使用可能になるまでにデータ更新と再計算にかかる時間が、こちらで設定された値を超えると、インタラクティブ・セッションは終了します。

  • 単位: ミリ秒
  • デフォルト値: 1800000 (30分 = 30 * 60 * 1000)

EXPL_INTERACTIVE_SESSION_SHUTDOWN_TIMEOUT

インタラクティブ・セッション開始からの時間が、こちらで設定された値を超えると、インタラクティブ・セッションは終了します。

  • 単位: ミリ秒
  • デフォルト値: 7200000 (2時間 = 2 * 60 * 60 * 1000)

EXPL_INTERACTIVE_SOCKET_PING_INTERVAL

こちらは、インタラクティブ・セッションが、内部的にブラウザとの接続に使用している、Socket.IOというライブラリの設定になります。

Socket.IOがブラウザとの接続状態を確認するために送るpingが、この時間ごとに送信されます。

  • 単位: ミリ秒
  • デフォルト値: 25000 (25秒 = 25 * 1000)

EXPL_INTERACTIVE_SOCKET_PING_TIMEOUT

こちらは、インタラクティブ・セッションが、内部的にブラウザとの接続に使用している、Socket.IOというライブラリの設定になります。

Socket.IOがブラウザとの接続状態を確認するために送るpingに対する返答がこの値を超える時間返ってこないと、接続は切断されます。

この値を変更する必要があるときは、こちらのSocket IOの問題を回避するために、EXPL_INTERACTIVE_SOCKET_PING_INTERVALよりも長い値を設定することをおすすめします。

  • 単位: ミリ秒
  • デフォルト値: 60000 (1分 = 60 * 1000)

スケジューラーに関する設定

このセクションでは、スケジューラーの内部的な動作に関する設定情報を説明します。

EXPL_SCHEDULER_MAX_CONCURRENCY

スケジューラーが同時に走らせることのできるジョブの数の最大値です。

  • デフォルト値: 4