#r #shiny #shiny-server
#r #блестящий #shiny-сервер
Вопрос:
Я создаю блестящее приложение, которое будет использоваться несколькими пользователями на блестящем сервере с открытым исходным кодом. Вот небольшой повторный запрос (из документации shiny
)
shinyApp(
ui = fluidPage(
numericInput("n", "n", 1),
plotOutput("plot")
),
server = function(input, output) {
output$plot <- renderPlot( plot(head(cars, input$n)) )
}
)
После запуска приложения я устанавливаю значение numericInput
10 и закрываю браузер. Когда я снова открываю приложение, запускается новый сеанс, и значение в numericInput
возвращается к 1. Как я могу гарантировать, что активен только один сеанс и любой пользователь, получающий доступ к приложению, видит этот сеанс?
Мое приложение довольно большое (разделено на несколько файлов и модулей с динамическим пользовательским интерфейсом), поэтому нежелательно, чтобы каждый пользователь просматривал все поля ввода (> 50) при каждом запуске приложения.
Комментарии:
1. Вы понимаете, что это будет означать, что он будет открыт 24 часа в сутки каждый день, верно?
2. Ну, это именно то, что я хочу предотвратить. Сеанс должен оставаться активным, даже если браузер закрыт.
3. Возможно, вы захотите предоставить своим пользователям возможность сохранять закладки , чтобы они могли восстановить определенное состояние приложения.
4. Вам удалось решить эту проблему? Не могли бы вы поделиться тем, как вы это сделали?
5. @Sam Я решил это, используя базу данных в серверной части, добавив кнопки действий для сохранения определенного ввода. После запуска нового сеанса значения извлекаются из этой базы данных.