@@ -125,6 +125,7 @@ def __init__(self, plugin_args=None):
125
125
logger .debug ('MultiProcPlugin starting in "%sdaemon" mode (n_procs=%d, mem_gb=%0.2f)' ,
126
126
'non' if non_daemon else '' , self .processors , self .memory_gb )
127
127
self .pool = (NonDaemonPool if non_daemon else Pool )(processes = self .processors )
128
+ self ._stats = None
128
129
129
130
def _async_callback (self , args ):
130
131
self ._taskresult [args ['taskid' ]] = args
@@ -197,10 +198,13 @@ def _send_procs_to_workers(self, updatehash=False, graph=None):
197
198
# Check available system resources by summing all threads and memory used
198
199
free_memory_gb , free_processors = self ._check_resources (self .pending_tasks )
199
200
200
- logger .info ('Currently running %d tasks, and %d jobs ready. '
201
- 'Free memory (GB): %0.2f/%0.2f, Free processors: %d/%d' ,
202
- len (self .pending_tasks ), len (jobids ),
203
- free_memory_gb , self .memory_gb , free_processors , self .processors )
201
+ stats = (len (self .pending_tasks ), len (jobids ), free_memory_gb ,
202
+ self .memory_gb , free_processors , self .processors )
203
+ if self ._stats != stats :
204
+ logger .info ('Currently running %d tasks, and %d jobs ready. Free '
205
+ 'memory (GB): %0.2f/%0.2f, Free processors: %d/%d' ,
206
+ * stats )
207
+ self ._stats = stats
204
208
205
209
if free_memory_gb < 0.01 or free_processors == 0 :
206
210
logger .debug ('No resources available' )
@@ -268,6 +272,8 @@ def _send_procs_to_workers(self, updatehash=False, graph=None):
268
272
self ._remove_node_dirs ()
269
273
free_memory_gb += next_job_gb
270
274
free_processors += next_job_th
275
+ # Display stats next loop
276
+ self ._stats = None
271
277
continue
272
278
273
279
# Task should be submitted to workers
@@ -281,6 +287,8 @@ def _send_procs_to_workers(self, updatehash=False, graph=None):
281
287
self .proc_pending [jobid ] = False
282
288
else :
283
289
self .pending_tasks .insert (0 , (tid , jobid ))
290
+ # Display stats next loop
291
+ self ._stats = None
284
292
285
293
def _sort_jobs (self , jobids , scheduler = 'tsort' ):
286
294
if scheduler == 'mem_thread' :
0 commit comments