Sha256: c9ecdc38cace82d4670545eaecb59c0f90bcea3e3fb6a3318e9be8f02c732f2e
Contents?: true
Size: 1.23 KB
Versions: 80
Compression:
Stored size: 1.23 KB
Contents
require 'concurrent' require 'sucker_punch/core_ext' require 'sucker_punch/counter' require 'sucker_punch/job' require 'sucker_punch/queue' require 'sucker_punch/version' require 'logger' module SuckerPunch RUNNING = Concurrent::AtomicBoolean.new(true) class << self def exception_handler @exception_handler ||= method(:default_exception_handler) end def exception_handler=(handler) @exception_handler = handler end def default_exception_handler(ex, klass, args) msg = "Sucker Punch job error for class: '#{klass}' args: #{args}\n" msg += "#{ex.class} #{ex}\n" msg += "#{ex.backtrace.nil? ? '' : ex.backtrace.join("\n")}" logger.error msg end def logger @logger ||= default_logger end def default_logger l = Logger.new(STDOUT) l.level = Logger::INFO l end def logger=(log) @logger = (log ? log : Logger.new('/dev/null')) end def shutdown_timeout # 10 seconds on heroku, minus a grace period @shutdown_timeout ||= 8 end def shutdown_timeout=(timeout) @shutdown_timeout = timeout end end end at_exit do SuckerPunch::Queue.shutdown_all end require 'sucker_punch/railtie' if defined?(::Rails)
Version data entries
80 entries across 80 versions & 2 rubygems