23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
# File 'lib/coverband/integrations/background.rb', line 23
def self.start
return if running?
logger = Coverband.configuration.logger
@semaphore.synchronize do
return if running?
logger.debug("Coverband: Starting background reporting") if Coverband.configuration.verbose
sleep_seconds = Coverband.configuration.background_reporting_sleep_seconds.to_i
@thread = Thread.new {
loop do
if Coverband.configuration.reporting_wiggle
sleep_seconds = Coverband.configuration.background_reporting_sleep_seconds.to_i + rand(Coverband.configuration.reporting_wiggle.to_i)
end
sleep(sleep_seconds.to_i) if Coverband.configuration.defer_eager_loading_data?
Coverband.report_coverage
Coverband.configuration.trackers.each { |tracker| tracker.save_report }
if Coverband.configuration.verbose
logger.debug("Coverband: background reporting coverage (#{Coverband.configuration.store.type}). Sleeping #{sleep_seconds}s")
end
sleep(sleep_seconds.to_i) unless Coverband.configuration.defer_eager_loading_data?
end
}
end
rescue ThreadError
stop
end
|