File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# frozen_string_literal: true
2+ require 'active_support/time'
23require 'ci/queue/static'
34require 'set'
45
@@ -50,10 +51,22 @@ def master?
5051
5152 def poll
5253 wait_for_master
54+ idle_since = nil
55+ idle_state_printed = false
5356 until shutdown_required? || config . circuit_breakers . any? ( &:open? ) || exhausted? || max_test_failed?
5457 if test = reserve
58+ idle_since = nil
5559 yield index . fetch ( test )
5660 else
61+ idle_since ||= Time . zone . now
62+ if Time . zone . now - idle_since > 0 && !idle_state_printed
63+ puts "Worker #{ worker_id } has been idle for 120 seconds. Printing global state..."
64+ puts " Processed tests: #{ redis . scard ( key ( 'processed' ) ) } "
65+ puts " Pending tests: #{ redis . llen ( key ( 'queue' ) ) } . #{ redis . lrange ( key ( 'queue' ) , 0 , -1 ) } "
66+ puts " Running tests: #{ redis . zcard ( key ( 'running' ) ) } . #{ redis . zrange ( key ( 'running' ) , 0 , -1 ) } "
67+ puts " Owners: #{ redis . hgetall ( key ( 'owners' ) ) } "
68+ idle_state_printed = true
69+ end
5770 sleep 0.05
5871 end
5972 end
You can’t perform that action at this time.
0 commit comments