2

I'm parsing remote JSON data into MongoDB, Actually i'm parsing dynamic JSON data,but i want to update MongoDB for every 30 Sec with dynamic data.

parsing JSON data like this

require 'open-uri'

require 'json'

result = JSON.parse(open("url_of_json_service").read)

how i can update MongoDB for every 30sec?

4

2 回答 2

1

使用 rufus-schedular gem,它工作正常。

在 Gemfile

gem 'rufus-scheduler', :require => "rufus/scheduler"

在 config/initializers/reminder_sheduler.rb

scheduler = Rufus::Scheduler.start_new

scheduler.cron("0 5 * * *") do
  Model.send_reminder_email
end
于 2013-04-28T07:15:50.457 回答
0

Cron是重复作业的常见解决方案,从 cron-job 中,您可以启动脚本/运行器 Rails 脚本或 rake 任务。

我应该提到,对于 Cron,最精细的粒度是 1 分钟。

另一种解决方案是创建一个后台作业,它作为守护进程运行并且基本上运行一个连续循环:加载远程 JSON,休眠 30 秒,加载远程 JSON,休眠,......

查看这些 Railscast:

http://railscasts.com/episodes/164-cron-in-ruby-revised

http://railscasts.com/episodes/164-cron-in-ruby

http://railscasts.com/episodes/129-custom-daemon

克朗:

http://en.wikipedia.org/wiki/Cron

于 2013-04-27T18:20:07.643 回答