我正在解析远程JSON数据到MongoDB,实际上我解析的是动态JSON数据,但是我想用动态数据每30秒更新一次MongoDB。使用远程JSON数据每30秒更新一次MongoDB?
解析JSON数据这样
require 'open-uri'
require 'json'
result = JSON.parse(open("url_of_json_service").read)
我如何为每30秒更新MongoDB的?
我正在解析远程JSON数据到MongoDB,实际上我解析的是动态JSON数据,但是我想用动态数据每30秒更新一次MongoDB。使用远程JSON数据每30秒更新一次MongoDB?
解析JSON数据这样
require 'open-uri'
require 'json'
result = JSON.parse(open("url_of_json_service").read)
我如何为每30秒更新MongoDB的?
使用鲁弗斯 - 程序器宝石和它的正常工作。
中的Gemfile
gem 'rufus-scheduler', :require => "rufus/scheduler"
在配置/初始化/ reminder_sheduler.rb
scheduler = Rufus::Scheduler.start_new
scheduler.cron("0 5 * * *") do
Model.send_reminder_email
end
Cron是定期作业的常用解决方案,您可以从cron-job启动脚本/ runner Rails脚本或rake任务。
我应该提到,与Cron最好的粒度是1分钟。
另一种解决方案是创建后台作业,它运行作为Daemon和基本上运行一个连续的循环:加载远程JSON,睡袋30秒,加载远程JSON,睡觉,...
看看这些Railscasts:
http://railscasts.com/episodes/164-cron-in-ruby-revised
http://railscasts.com/episodes/164-cron-in-ruby
http://railscasts.com/episodes/129-custom-daemon
的Cron: