Sha256: f6adaaa6f300b61cc2e1d2b983013fe376e3b009b825681134c96302747f9045
Contents?: true
Size: 929 Bytes
Versions: 14
Compression:
Stored size: 929 Bytes
Contents
# frozen_string_literal: true require 'sidekiq' module PUNK class Worker < Runnable include Sidekiq::Worker def self.perform_now(**kwargs) worker = new worker.define_singleton_method :logger, -> { SemanticLogger['PUNK::SKQ'] } worker.send(:perform, **kwargs) end def perform(kwargs={}) @_started = Time.now.utc logger.info "Started #{self.class.name}", kwargs.sanitize.inspect logger.push_tags(self.class.name) _init_runnable(kwargs.deep_symbolize_keys) raise BadRequest, "validation failed" unless valid? process nil rescue BadRequest => e logger.error e.message logger.error errors.full_messages.to_sentence raise ensure duration = 1000.0 * (Time.now.utc - @_started) logger.pop_tags logger.info message: "Completed #{self.class.name}", duration: duration SemanticLogger.flush end end end
Version data entries
14 entries across 14 versions & 1 rubygems