在R闪亮的应用程序中同时处理多个用户 [英] handling multiple users simulaneously in an R Shiny app

查看:11
本文介绍了在R闪亮的应用程序中同时处理多个用户的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的闪亮的应用程序,它可以跟踪用户按下某个操作按钮的次数(actionButton()),这个总数会与其他信息一起报告给用户。

现在我知道SHINY R为每个应用程序创建一个R会话,因此如果多个用户同时访问同一个应用程序,他们都在使用相同的R会话。因此,报告的用户X的操作按钮按下次数最终是在当前R会话期间访问该应用程序的所有用户的操作按钮按下次数的总和。

我希望将用户分开,从某种意义上说,我希望在单个R会话中创建应用的虚拟实例。

我了解,当函数shinyserver()session参数一起运行时,将创建一个会话对象,并且有关客户端计算机的信息将存储在session$clientdata中。

是否有一些已知的方法可以利用此对象的内容来设置和管理跟踪在任何给定时间访问该应用的各个用户的状态的文件?

推荐答案

我认为您搞错了。默认情况下,Siny会为每个Siny应用程序创建一个进程,但可以在单个应用程序/进程中支持无限数量的会话(即"用户连接")。

有关作用域的更多信息,请查看本教程的本章:http://rstudio.github.io/shiny/tutorial/#scoping

基本上,shinyServer()表达式中定义的任何内容都将是单个用户会话的私有内容。您放在shinySever之外的任何变量都将在所有用户之间全局共享。因此,如果您不希望在会话之间共享变量(例如,点击计数器),则只需将它们保留在shinyServer()中即可。

这篇关于在R闪亮的应用程序中同时处理多个用户的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆