Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
网络错误触发服务器.R中的下载报告(报告生成)操作两次_R_Reporting Services_R Markdown_Shiny - Fatal编程技术网

网络错误触发服务器.R中的下载报告(报告生成)操作两次

网络错误触发服务器.R中的下载报告(报告生成)操作两次,r,reporting-services,r-markdown,shiny,R,Reporting Services,R Markdown,Shiny,我在Rshiny pro服务器上部署了shiny应用程序。该应用程序的主要目的是处理输入的excel文件,并以word文档的形式生成报告,其中包含两个表格,以及使用ggplot呈现的大约15个图形 此应用程序适用于小于大约3500-4500行的输入excel文件,大约10个度量值 现在,我正在尝试处理大约4000-4500行的excel文件,大约20个指标。处理此文件时,在报告生成期间(r标记文件处理),它仅在UI上显示网络错误。尽管UI上存在此错误,但在后端会生成报告文件,但不会下载生成的报告

我在
Rshiny pro服务器上部署了
shiny应用程序
。该应用程序的主要目的是处理输入的
excel
文件,并以
word文档
的形式生成报告,其中包含两个
表格
,以及使用
ggplot
呈现的大约15个
图形

此应用程序适用于小于大约
3500-4500行的输入excel文件,大约
10个度量值

现在,我正在尝试处理大约
4000-4500行的excel文件,大约
20个指标。处理此文件时,在报告生成期间(
r标记
文件处理),它仅在
UI
上显示
网络错误
。尽管UI上存在此错误,但在后端会生成报告文件,但不会下载生成的报告。发生此错误后,将自动触发报告生成操作,从而生成两个报告,而这两个报告又无法下载

因此,通过观察,我得出结论,在获得
网络错误
时,服务器再次触发
下载报告
(报告生成和下载)操作。R

有人经历过这种奇怪的情况吗?我在这里寻找关于这两个问题的指导-

  • 仅在某个时候出现
    网络错误
    的原因是什么
  • 触发下载报告两次的是什么
  • 是否有任何选项可以指定最大会话超时时间

  • 我已经找到了以上问题的答案,我已经回答了

    虽然我想在上面解释的上下文中快速回答问题

  • 出现网络错误的原因:只有在计算(在本例中生成报告)未在
    45秒内完成时,才会向用户显示
    网络错误。这是因为
    http\u keepalive\u timeout
    参数未在
    服务器配置中定义
    ,而
    http\u keepalive\u timeout
    参数的
    默认值为
    45秒
  • 为什么两次触发下载报告操作?:这是因为在单击
    下载操作按钮后进行的计算过程中,用户与服务器的会话被终止
    . 在闪亮服务器配置中有一个名为
    重新连接
    的参数,该参数由
    默认值启用
    。当用户与服务器的连接中断时,Shiny server将为他们提供一个对话框,允许他们在15秒内重新连接到现有的Shiny会话。这意味着在用户断开连接后,服务器将在服务器上保持闪亮会话的活动状态15秒,以防他们重新连接。15秒后,用户的会话将被恢复,他们将得到通知,并有机会刷新页面。如果此设置为true,服务器将立即获取断开连接的任何用户的会话。 你可以在报纸上读到
  • 指定最大会话超时时间的选项:是。有一个名为
    http\u keepalive\u timeout
    的参数。它将允许您指定
    最大会话超时时间
    。您需要将
    http\u keepalive\u timeout
    参数添加到
    shinny server.conf
    顶层
    ,并使用所需的
    超时时间
    ,以秒为单位,如下所示

    http_keepalive_超时120

    阅读有关http\u keepalive\u timeout的更多信息