Sha256: 9fdab738b7e168f5cff0f5945ed03105790b64604a177efeca884829d8564f93

Contents?: true

Size: 779 Bytes

Versions: 34

Compression:

Stored size: 779 Bytes

Contents

# frozen_string_literal: true
module CI
  module Queue
    module Common
      attr_reader :config

      # to override in classes including this module
      CONNECTION_ERRORS = [].freeze

      def distributed?
        raise NotImplementedError
      end

      def retrying?
        false
      end

      def release!
        # noop
      end

      def flaky?(test)
        @config.flaky?(test)
      end

      def report_failure!
        config.circuit_breakers.each(&:report_failure!)
      end

      def report_success!
        config.circuit_breakers.each(&:report_success!)
      end

      def rescue_connection_errors(handler = ->(err) { nil })
        yield
      rescue *self::class::CONNECTION_ERRORS => err
        handler.call(err)
      end
    end
  end
end

Version data entries

34 entries across 34 versions & 1 rubygems

Version Path
ci-queue-0.62.0 lib/ci/queue/common.rb
ci-queue-0.61.0 lib/ci/queue/common.rb
ci-queue-0.60.0 lib/ci/queue/common.rb
ci-queue-0.59.0 lib/ci/queue/common.rb
ci-queue-0.58.0 lib/ci/queue/common.rb
ci-queue-0.57.0 lib/ci/queue/common.rb
ci-queue-0.56.0 lib/ci/queue/common.rb
ci-queue-0.55.0 lib/ci/queue/common.rb
ci-queue-0.52.0 lib/ci/queue/common.rb
ci-queue-0.51.0 lib/ci/queue/common.rb
ci-queue-0.50.0 lib/ci/queue/common.rb
ci-queue-0.49.0 lib/ci/queue/common.rb
ci-queue-0.48.0 lib/ci/queue/common.rb
ci-queue-0.47.0 lib/ci/queue/common.rb
ci-queue-0.46.0 lib/ci/queue/common.rb
ci-queue-0.45.0 lib/ci/queue/common.rb
ci-queue-0.44.0 lib/ci/queue/common.rb
ci-queue-0.43.0 lib/ci/queue/common.rb
ci-queue-0.42.0 lib/ci/queue/common.rb
ci-queue-0.41.0 lib/ci/queue/common.rb