Files
Dena/app/jobs/cron/ticker.rb
2026-08-13 19:50:53 +03:30

29 lines
808 B
Ruby

module Jobs
module Cron
class Ticker
def self.process
@tickers = {}
@cache_tickers = {}
Market.active.each do |market|
service = TickersService[market]
ticker = service.ticker
@tickers[market.id] = ticker
@cache_tickers[market.id] = format_ticker ticker
end
Rails.logger.info { "Publish tickers: #{@tickers}" }
Rails.cache.write(:markets_tickers, @cache_tickers)
::AMQP::Queue.enqueue_event('public', 'global', 'tickers', @tickers)
sleep 5
end
def self.format_ticker(ticker)
permitted_keys = %i[low high open last volume amount
avg_price price_change_percent]
{ at: ticker[:at],
ticker: ticker }
end
end
end
end