@@ -165,6 +165,10 @@ def update_heartbeat
165165 end
166166 end
167167
168+ def global_timings
169+ @global_timings ||= queue . timings
170+ end
171+
168172 def try_publish_queue! ( queue )
169173 return if !queue . become_master
170174
@@ -184,8 +188,7 @@ def try_publish_queue!(queue)
184188 RSpec . configuration . files_or_directories_to_run = files_or_dirs_to_run
185189 files_to_run = RSpec . configuration . files_to_run . map { |j | relative_path ( j ) }
186190
187- timings = queue . timings
188- if timings . empty?
191+ if global_timings . empty?
189192 q_size = queue . push_jobs ( files_to_run . shuffle , fail_fast )
190193 log_event (
191194 "No timings found! Published queue in random order (size=#{ q_size } )" ,
@@ -198,7 +201,7 @@ def try_publish_queue!(queue)
198201 slow_files = [ ]
199202
200203 if file_split_threshold
201- slow_files = timings . take_while do |_job , duration |
204+ slow_files = global_timings . take_while do |_job , duration |
202205 duration >= file_split_threshold
203206 end . map ( &:first ) & files_to_run
204207 end
@@ -229,7 +232,7 @@ def try_publish_queue!(queue)
229232 private
230233
231234 def order_jobs_by_timings ( jobs )
232- timings = queue . timings
235+ timings = global_timings
233236
234237 default_timing = timings . values [ timings . values . size / 2 ]
235238
0 commit comments