我正在尝试连接到Bitfinex的公共API,并从那里每秒获取数据。
我认为这是一项cron工作,但我不知道是否可以每隔1秒发送一次请求,例如,每当gem或sidekiq。
require 'uri'
require 'net/http'
data = []
url = URI('https://api.bitfinex.com/v1/pubticker/btcusd')
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
r = JSON.parse(response.body)
data << {bid: r["bid"], ask: r["ask"], last: r["last_price"], low: r["low"], high: r["high"], volume: r["volume"], timestamp: Time.now.utc.to_f, name: exchange_name, error: false}
按预期工作,但正如我所提到的,我想每秒运行一次这个功能。
PS:如果这个http请求失败,那么它应该以某种方式进行救援。