2017-06-08 2 views
0

Rshiny pro servershiny applicationが導入されています。このアプリケーションの主な目的は、入力ファイルexcelを処理して、の形式のレポートを生成します。これは、tablesと約15 graphsとの組み合わせで、ggplotを使用してレンダリングされます。server.Rでダウンロードレポート(レポート生成)アクションを2回実行するネットワークエラー

このアプリケーションは、入力ファイルが約1GB未満の場合に最適です。約10 metricsの場合は3500-4500 rowsです。

今、私は約のために約4000-4500 rowsでExcelファイルを処理しようとしています。このファイルを処理中に、レポート生成中(Rmarkdownファイル処理)にUIにのみnetwork errorが表示されます。 UIのこのエラーにもかかわらず、バックエンドではレポートファイルが生成されていますが、生成されたレポートはダウンロードされません。このエラーが発生すると、レポート生成アクションが自動的にトリガされ、2つのレポートが生成され、再びダウンロードされません。

このように、network errorを取得すると、download report(レポートの生成およびダウンロード)アクションがserver.Rによって再度トリガーされているという結論に達しました。

このような奇妙な状況に遭った人はいますか?私はここで2つの問題に関するガイダンスを探しています -

  1. いつかnetwork errorを取得する理由は何ですか?
  2. download reportアクションを2回トリガーしているのは何ですか?
  3. 最大値を指定するオプションはありますか?セッションタイムアウト期間?

答えて

0

上記の質問に対する回答が見つかりました。既に回答済みです。hereです。

上記の文脈で質問にすばやく回答したいと思いますがネットワークエラーを取得するための

  1. 理由:ユーザーは、(この場合はレポート作成中)計算は45 seconds以内に完了されない場合にのみ、network errorが表示されます。これは、http_keepalive_timeoutパラメータがserver configurationdefinedでなく、http_keepalive_timeoutパラメータのdefault value45 secondsであるためです。
  2. レポートのダウンロードアクションが2回トリガーされたのはなぜですか? :Download action button をクリックした後に発生した計算中に、サーバーとのユーザーセッションが終了したためです。光沢のあるサーバー構成のreconnectというパラメーターがenableddefaultである。サーバーへのユーザーの接続が中断されると、Shiny Serverは15秒間既存のShinyセッションに再接続できるダイアログを提供します。これは、ユーザーが再接続した場合にユーザーが切断した後、15秒間サーバーがShinyセッションをサーバー上でアクティブに保つことを意味します。 15秒後に、ユーザーのセッションが刈られ、通知され、ページを更新する機会が提供されます。この設定がtrueの場合、サーバーは切断されたユーザーのセッションをただちに取得します。 あなたは最大を指定するshiny server documentation. reconnect
  3. オプションでそれについて読むことができます。セッションのタイムアウト期間:はい。 http_keepalive_timeoutというパラメータがあります。 maximum session timeout periodを指定することができます。 パラメータをtop levelshiny-server.confに追加する必要があります。timeout periodを秒単位で指定します。

    http_keepalive_timeout 120;

    続きを読むhttp_keepalive_timeouthereを参照してください。 enter image description here

関連する問題