#r #shiny #shiny-server
#r #блестящий #блестящий сервер
Вопрос:
У меня есть блестящее приложение, запущенное на блестящем сервере, который установлен на сервере Ubuntu 16.04.
Когда приложение загружается в браузер, но некоторое время не запускается, оно отключается.
Есть ли решение, которое предотвращает это?
Комментарии:
1. Возможно, проблема с подключением, поскольку shiny взаимодействует с клиентами через постоянное соединение WebSocket…
Ответ №1:
Вы можете попробовать ввести повторяющийся сигнал в свою серверную функцию, которая работала для поддержания работоспособности моего приложения:
#Keep App alive
keep_alive <- shiny::reactiveTimer(intervalMs = 10000,
session = shiny::getDefaultReactiveDomain())
shiny::observe({keep_alive()})
Ответ №2:
На самом деле вы можете отключить app_idle_timeout
навсегда, установив для него значение 0 в файле конфигурации вашего сервера Shiny:
location / {
app_idle_timeout 0;
}
Комментарии:
1. Это круто. @anddt Где бы вы сохранили этот файл? И работает ли это также при размещении приложения не на shinyserver?
2. При использовании
shiny-server
для размещения приложения Shiny файл конфигурации можно найти по адресу/etc/shiny-server/shiny-server.conf
.3. Это самое элегантное решение, но у меня есть случай, когда блестящий сервер работает в среде Kubernetes, где настройки не могут быть изменены, поскольку они скрыты. Тогда решение джандеркрана — ваш единственный вариант.
4. @Wilbert э-э, k8s не упоминался в вашем вопросе. Но в целом да, если развернуть таким образом
shiny-server.conf
, это было бы бессмысленно, и единственный способ — поддерживать само приложение в рабочем состоянии (следите за загрузкой сервера, если приложение загружает большие данные).