Sha256: 54976240a0f5d41658b33cc316d43ff9d5f5b147a349be01f815bbba95380dab

Contents?: true

Size: 866 Bytes

Versions: 2

Compression:

Stored size: 866 Bytes

Contents

# frozen_string_literal: true

module Coverband
  class Background
    @semaphore = Mutex.new

    def self.start
      return if @background_reporting_running

      logger = Coverband.configuration.logger
      @semaphore.synchronize do
        return if @background_reporting_running

        @background_reporting_running = true
        sleep_seconds = Coverband.configuration.background_reporting_sleep_seconds
        Thread.new do
          loop do
            Coverband::Collectors::Coverage.instance.report_coverage
            logger&.debug("Reported coverage from thread. Sleeping for #{sleep_seconds} seconds")
            sleep(sleep_seconds)
          end
        end

        at_exit do
          Coverband::Collectors::Coverage.instance.report_coverage
          logger&.debug("Reported coverage before exit")
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
coverband-3.0.1 lib/coverband/integrations/background.rb
coverband-3.0.1.alpha lib/coverband/integrations/background.rb