我们在 Heroku 中托管了一个闪亮的应用程序。用户不活动 55 秒后,应用程序将变灰。这适用于 Chrome 和 Safari。边缘工作正常。Heroku 对此有一个默认超时,看起来它不能使用 R buildpack ( https://github.com/virtualstaticvoid/heroku-shiny-app )进行修改。
function ping() {
if (!window.Shiny.shinyapp.isConnected()) {
window.Shiny.shinyapp.reconnect();
}
}
setInterval(ping, 2000);
Run Code Online (Sandbox Code Playgroud)
我们在下面嵌入了 JS 代码以使用 WebSocket 重新连接,但是会话数据丢失了。还有什么我们可以尝试的吗?
以下是有关我们应用程序的更多信息:R 3.4.4 Shiny 1.1.0
Sté*_*ent 13
用户不活动 55 秒后,应用程序将变灰。
我有一个类似的问题,但上下文不同(这是由于代理设置而我没有使用 Heroku)所以我不知道我使用的解决方案是否适合您(我在这里发布是因为我的回复评论太长了)。
我只是简单地包括了这些行:
autoInvalidate <- reactiveTimer(10000)
observe({
autoInvalidate()
cat(".")
})
Run Code Online (Sandbox Code Playgroud)
这样,每过 10 秒就会在控制台中打印一个点,我的应用程序不再变灰(尽管这不是真正的“用户活动”)。