异步API呼叫在Rails中更新模型



我正在对Coinbase的API进行简单的API调用,以获取当前的比特币买卖价格。我对我的价格模型有一个以前的行动

class PriceBtc < ApplicationRecord
before_save :save_prices
def save_prices
    self.buy = PriceBtc.get_buy_price
    self.sell = PriceBtc.get_sell_price
  end
end

如何一次触发每隔几秒钟的新模型创建?我在ActiveJob上找不到任何事情来以如此快速的方式做某事。我尝试每当宝石自动设置cron作业,但我只能让它每1分钟执行任务,而我希望每3秒钟

通过使用rufus-scheduler GEM:

添加宝石,捆绑包并重新启动服务器:

# Gemfile
gem 'rufus-scheduler'

创建初始化器:

# config/initializers/scheduler.rb
require 'rufus-scheduler'
scheduler = Rufus::Scheduler::singleton
count = 0
scheduler.every '5s' do
  Price.create price: count
  count += 1
end

每当您编辑该文件时,都必须重新启动服务器。每5秒钟只创建新的价格记录,并将价格设置为计数的价值。当然,您的

最新更新