@@ -125,19 +125,25 @@ def run(self, graph, config, updatehash=False):
125125 # setup polling - TODO: change to threaded model
126126 notrun = []
127127
128+ old_progress_stats = None
129+ old_presub_stats = None
128130 while not np .all (self .proc_done ) or np .any (self .proc_pending ):
129131 # Check to see if a job is available (jobs without dependencies not run)
130132 # See https://github.com/nipy/nipype/pull/2200#discussion_r141605722
131133 jobs_ready = np .nonzero (~ self .proc_done & (self .depidx .sum (0 ) == 0 ))[1 ]
132134
133- logger .info ('Progress: %d jobs, %d/%d/%d (done/running/ready),'
134- ' %d/%d (pending_tasks/waiting).' ,
135- len (self .proc_done ),
136- np .sum (self .proc_done ^ self .proc_pending ),
137- np .sum (self .proc_done & self .proc_pending ),
138- len (jobs_ready ),
139- len (self .pending_tasks ),
140- np .sum (~ self .proc_done & ~ self .proc_pending ))
135+ progress_stats = (len (self .proc_done ),
136+ np .sum (self .proc_done ^ self .proc_pending ),
137+ np .sum (self .proc_done & self .proc_pending ),
138+ len (jobs_ready ),
139+ len (self .pending_tasks ),
140+ np .sum (~ self .proc_done & ~ self .proc_pending ))
141+ display_stats = progress_stats != old_progress_stats
142+ if display_stats :
143+ logger .debug ('Progress: %d jobs, %d/%d/%d '
144+ '(done/running/ready), %d/%d '
145+ '(pending_tasks/waiting).' , * progress_stats )
146+ old_progress_stats = progress_stats
141147 toappend = []
142148 # trigger callbacks for any pending results
143149 while self .pending_tasks :
@@ -163,13 +169,18 @@ def run(self, graph, config, updatehash=False):
163169
164170 if toappend :
165171 self .pending_tasks .extend (toappend )
172+
166173 num_jobs = len (self .pending_tasks )
167- logger .debug ('Tasks currently running: %d. Pending: %d.' , num_jobs ,
168- np .sum (self .proc_done & self .proc_pending ))
174+ presub_stats = (num_jobs ,
175+ np .sum (self .proc_done & self .proc_pending ))
176+ display_stats = display_stats or presub_stats != old_presub_stats
177+ if display_stats :
178+ logger .debug ('Tasks currently running: %d. Pending: %d.' ,
179+ * presub_stats )
180+ old_presub_stats = presub_stats
169181 if num_jobs < self .max_jobs :
170- self ._send_procs_to_workers (updatehash = updatehash ,
171- graph = graph )
172- else :
182+ self ._send_procs_to_workers (updatehash = updatehash , graph = graph )
183+ elif display_stats :
173184 logger .debug ('Not submitting (max jobs reached)' )
174185
175186 sleep (poll_sleep_secs )
0 commit comments