lib/caddy/task_observer.rb in caddy-1.0.1 vs lib/caddy/task_observer.rb in caddy-1.5.0

- old
+ new

@@ -1,29 +1,34 @@ # frozen_string_literal: true module Caddy class TaskObserver + def initialize(error_handler, cache_name) + @error_handler = error_handler || Caddy.error_handler + @cache_name = cache_name + end + def update(_, _, boom) return unless boom - if Caddy.error_handler - if Caddy.error_handler.respond_to?(:call) + if @error_handler + if @error_handler.respond_to?(:call) begin - Caddy.error_handler.call(boom) + @error_handler.call(boom) rescue => incepted_boom - puts_exception("Caddy error handler itself errored", incepted_boom) + puts_exception("Caddy error handler itself errored handling refresh for :#{@cache_name}", incepted_boom) end else # rubocop:disable Style/StringLiterals STDERR.puts 'Caddy error handler not callable. Please set the error handler like:'\ ' `Caddy.error_handler = -> (e) { puts "#{e}" }`' # rubocop:enable Style/StringLiterals - puts_exception("Caddy refresher failed with error", boom) + puts_exception("Caddy refresher for :#{@cache_name} failed with error", boom) end elsif boom.is_a?(Concurrent::TimeoutError) - STDERR.puts "Caddy refresher timed out" + STDERR.puts "Caddy refresher for :#{@cache_name} timed out" else - puts_exception("Caddy refresher failed with error", boom) + puts_exception("Caddy refresher for :#{@cache_name} failed with error", boom) end end private