我如何每秒查询bitfinex API?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何每秒查询bitfinex API?相关的知识,希望对你有一定的参考价值。

我试图连接到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请求失败,那么它应该以某种方式进行救援。

答案

您应该使用活动工作程序而不是cronjob,这样您可以获得更好的内置支持,并且任务不依赖于服务器配置,而是依赖于代码

参考指南:http://guides.rubyonrails.org/active_job_basics.html

以上是关于我如何每秒查询bitfinex API?的主要内容,如果未能解决你的问题,请参考以下文章

Adwords API 每秒查询次数限制

如何将 Promise.all() 限制为每秒 5 个 Promise?

你如何在 python 中处理 graphql 查询和片段?

牛市中的鱼龙混战?看老牌交易平台Bitfinex如何掀起加密市场新一轮热潮

如何在地图片段 API v2 布局顶部添加按钮

通过对象React映射[重复]