Class: BitflyerFxPairWorker

Inherits:
Object
  • Object
show all
Includes:
Sidekiq::Worker
Defined in:
lib/templates/workers/ext_batch_monitor.rb

Instance Method Summary collapse

Instance Method Details

#perform(*args) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/templates/workers/ext_batch_monitor.rb', line 5

def perform(*args)
  # 这个worker取bitFlyer的FX数据
  # 只显示在BTC_JPY的页面
  # 只存入redis
  logger = TickApi.new_logger(File.basename(__FILE__).gsub('.rb', ''))
  begin
    pair_code = 'fx_btc_jpy'
    Yml::TICK_API[:pair][pair_code].each do |item|
      company = Yml::TICK_API[:company][item]
      next if company.blank?

      code = company[:code][pair_code]
      code = pair_code if code == ''

      # 请求api
      json = TickApi.get_tick_data(company[:api], code, {logger: logger})
      return if json.blank?

      # 保存到缓存
      # 数据存入到btc_jpy的key里面用于tick.coffee实时更新
      TickApi.save_tick_cache('btc_jpy', item, json, {logger: logger})
      # 数据存入到fx_btc_jpy的key里面用于页面刷新
      ticks = TickApi.save_tick_cache(pair_code, item, json, {logger: logger})
      logger.info "[main]#{pair_code} ### worker done." if !ticks.blank?
    end
  rescue Exception => e
    logger.error e.message
  end
end