我已经开发了一个闪亮的应用程序,首先必须运行SQL查询,需要5-10分钟才能运行。后来的地块建造得相当快。我的想法是每天(使用invalidLater)在shinyServer()之前运行一次查询。这个效果很好。
现在我可以访问一个闪亮的服务器了。我可以用~/ShinyApps/APPNAME/保存我的应用程序,并通过http://SERVERNAME.com:3838/USER/APPNAME/访问它。但是,如果我打开这个应用程序,尽管它在其他浏览器中没有打开,它需要5-10分钟才能启动。如果我打开它,而它也是在另一台计算机上打开的,它就会快速启动。
我没有使用几个服务器的经验,但我得出结论,我的服务器只运行应用程序,只要有人访问它。但是在我的例子中,它应该永久运行,所以它总是快速启动,每天可以更新一次数据(使用sql查询)。
我查阅了文档,因为我想这是一些设置上的问题。
发布于 2016-09-06 11:32:54
为了保持应用程序的运行:
Brute:你可以有一个服务器/计算机,可以一直打开你的应用程序,这样它就不会从闪亮的服务器内存中掉下来。但这不会载入新的数据。
服务器设置:您可以将服务器的空闲时间设置为一个大间隔,这意味着它将在从内存中删除应用程序之前等待该间隔。这是使用fx在闪亮的server.conf文件中完成的。app_idle_timeout 3600
每天更新:
crontab :在SSH中设置一个crontab作业。PuTTY:$ crontab -e
像这样(阅读更多信息:https://en.wikipedia.org/wiki/Cron):
00 00 * * * Rscript /Location/YourDailyScript.RYourDailyScript.R:
1. setwd(location) #remember that!
2. [Your awesome 5 minute query]
3. Save result as .csv or whatever.然后必须应用程序加载结果。
https://stackoverflow.com/questions/39345826
复制相似问题