在服务器上永久运行闪亮的应用程序

时间:2016-09-06 09:47:00

标签: sql-server shiny-server

我开发了一个闪亮的应用程序,首先必须运行SQL查询,需要大约5-10分钟才能运行。之后的地块建设速度非常快。 我的想法是在invalidLater之前每天运行一次查询(使用shinyServer())。这很有效。

现在我可以访问一个闪亮的服务器了。我可以在~/ShinyApps/APPNAME/中保存我的应用,然后通过http://SERVERNAME.com:3838/USER/APPNAME/访问它。但是如果我打开应用程序,虽然它在其他浏览器中没有打开,但需要5-10分钟才能启动。如果我打开它,当它也在另一台计算机上打开时,它会快速启动。

我没有服务器的经验,但我总结说我的服务器只运行应用程序,只要有人访问它。但在我的情况下,它应该永久运行,因此它总是快速启动并且可以每天更新一次数据(使用sql查询)。

我查阅了文档,因为我猜这是一些设置问题。

1 个答案:

答案 0 :(得分:0)

让应用继续运行:

暴力破解:你可以拥有一台服务器/计算机,让你的应用程序视图一直打开,这样它就不会从闪亮的服务器内存中掉落。但那不会加载新数据。

服务器设置:您可以将服务器的空闲时间设置为较大的时间间隔,这意味着它会在从内存中删除应用程序之前等待该时间间隔。这是在带有fx的shiny-server.conf文件中完成的。 app_idle_timeout 3600

要进行每日更新:

<强> crontab的: 在SSH客户端fx中设置crontab作业。油灰: $ crontab -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.

然后必须app才加载该结果。

相关问题