我正在编写一个简单的Ruby on Rails应用程序,它对ROR知之甚少。该应用程序将定期查询Twitter和Instagram,为特定用户提取Feed并将其存储在某个位置,然后可以在特定用户的推文或照片的请求到达时快速访问。Rake任务访问Web应用程序的全局变量
我正在考虑编写一个rake任务,这个任务将会定期获取tweets和instagram照片。
如果webapp使用全局变量来获取feed,那么rake任务可以访问这个全局变量并更新它吗?
还是必须使用数据库如此耙和Web应用程序可以更新/访问相同的数据?
您认为如何编写一个控制器,其唯一目的是获取推文和照片并使用新数据更新全局变量。然后有一个cron作业定期调用curl来触发控制器? – septerr
另外,如果我执行控制器+ cron,是否会使web应用程序繁忙并导致定期请求到达队列? Rails服务器是否运行多个线程来处理请求或单个线程?对不起,有很多问题。 – septerr
完全取决于部署配置。由于cronjob与rails服务器进程在同一台计算机上运行,因此可能会耗尽资源,从而可能会降低http性能。在实践中,像你描述的任务只会占用最少的CPU资源。使用cron/rake任务时,必须将数据存储在本地数据库中,并让rails服务器访问该数据库。 –