网络错误触发服务器.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的更多信息
。