Module: Gera::RatesWorker
- Included in:
- BitfinexRatesWorker, EXMORatesWorker
- Defined in:
- app/workers/concerns/gera/rates_worker.rb
Overview
Import rates from all sources
Constant Summary collapse
- Error =
Class.new StandardError
Instance Method Summary collapse
Instance Method Details
#perform ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/workers/concerns/gera/rates_worker.rb', line 12 def perform # Alternative approach is `Model.uncached do` ActiveRecord::Base.connection.clear_query_cache rates # Load before a translaction rate_source.with_lock do create_snapshot rates.each do |pair, data| save_rate pair, data end rate_source.update actual_snapshot_id: snapshot.id end CurrencyRatesWorker.new.perform snapshot.id # EXMORatesWorker::Error: Error 40016: Maintenance work in progress rescue ActiveRecord::RecordNotUnique, RestClient::TooManyRequests => error raise error if Rails.env.test? logger.error error Bugsnag.notify error do |b| b.severity = :warning b. = { error: error } end end |