2016-09-06 5 views
0

Я разработал блестящее приложение, сначала нужно запустить SQL-запросы, которым требуется около 5-10 минут для запуска. После этого строительство участков довольно быстро. Моя идея заключалась в том, чтобы запускать запросы один раз в день (с invalidLater) до shinyServer(). Это сработало хорошо.Запускать блестящее приложение постоянно на сервере

Теперь я получил доступ к блестящему серверу. Я мог бы сохранить свое приложение в ~/ShinyApps/APPNAME/ и получить к нему доступ http://SERVERNAME.com:3838/USER/APPNAME/. Но если я открою приложение, хотя он не открыт в каком-либо другом браузере, для начала потребуется 5-10 минут. Если я его открываю, пока он также открыт на другом компьютере, он запускается быстро.

У меня нет опыта работы с severs, но я завершаю, что на моем сервере работает только приложение, как только кто-то обращается к нему. Но в моем случае он должен запускаться постоянно, поэтому он всегда запускается быстро и может обновлять данные (используя SQL-запросы) один раз в день.

Я просмотрел документацию, так как я предполагаю, что это проблема с настройкой.

ответ

0

Чтобы сохранить приложение работает:

Грубая сила: Вы можете иметь сервера/компьютера, имеют вид вашего приложения открыть все время, так что не выпасть из блестящей памяти сервера. но это не будет загружать новые данные.

Настройки сервера: Вы можете установить время простоя вашего сервера на большой интервал, то есть он будет ждать этот интервал до того, как вы отпустите свое приложение из памяти. Это делается в файле shiny-server.conf с fx. app_idle_timeout 3600

Чтобы иметь ежедневные обновления:

Crontab: Настройка кронтаба работы в вашем SSH клиент FX. PuTTY: $ кронтаб -e

как это (далее: https://en.wikipedia.org/wiki/Cron):

00 00 * * * Rscript /Location/YourDailyScript.R 

YourDailyScript.R:

1. setwd(location) #remember that! 
2. [Your awesome 5 minute query] 
3. Save result as .csv or whatever. 

и затем к приложению просто загрузить этот результат.

Смежные вопросы