class Sidekiq::Metrics::Adapter::Bigquery::Worker
Public Instance Methods
perform(worker_status)
click to toggle source
# File lib/sidekiq/metrics/adapter/bigquery.rb, line 17 def perform(worker_status) @worker_status = { queue: worker_status['queue'] || worker_status[:queue], class: worker_status['class'] || worker_status[:class], retry: worker_status['retry'] || worker_status[:retry], jid: worker_status['jid'] || worker_status[:jid], status: worker_status['status'] || worker_status[:status], enqueued_at: worker_status['enqueued_at'] || worker_status[:enqueued_at], started_at: worker_status['started_at'] || worker_status[:started_at], finished_at: worker_status['finished_at'] || worker_status[:finished_at] } table_suffix = begin Time.at(@worker_status[:enqueued_at]).strftime('%Y%m%d') rescue nil end table = Sidekiq::Metrics.configuration.adapter.table(table_suffix) result = table.insert([@worker_status]) if Sidekiq::Metrics.configuration.adapter.raise_error error = result.insert_error_for(@worker_status) raise InsertError, error.errors.to_json if error end end