@@ -315,7 +315,7 @@ class ResultPrinter(BaseResultHandler):
315
315
SRC_DEST_TRANSFER_LOCATION_FORMAT = '{src} to {dest}'
316
316
SRC_TRANSFER_LOCATION_FORMAT = '{src}'
317
317
318
- def __init__ (self , result_recorder , out_file = None , error_file = None ):
318
+ def __init__ (self , result_recorder , out_file = None , error_file = None , frequency = None ):
319
319
"""Prints status of ongoing transfer
320
320
321
321
:type result_recorder: ResultRecorder
@@ -331,6 +331,8 @@ def __init__(self, result_recorder, out_file=None, error_file=None):
331
331
"""
332
332
self ._result_recorder = result_recorder
333
333
self ._out_file = out_file
334
+ self ._frequency = frequency
335
+ self ._first = True
334
336
if self ._out_file is None :
335
337
self ._out_file = sys .stdout
336
338
self ._error_file = error_file
@@ -347,12 +349,16 @@ def __init__(self, result_recorder, out_file=None, error_file=None):
347
349
DryRunResult : self ._print_dry_run ,
348
350
FinalTotalSubmissionsResult : self ._clear_progress_if_no_more_expected_transfers ,
349
351
}
352
+ self ._now = time .time ()
350
353
351
354
def __call__ (self , result ):
352
355
"""Print the progress of the ongoing transfer based on a result"""
353
- self ._result_handler_map .get (type (result ), self ._print_noop )(
354
- result = result
355
- )
356
+ if self ._first or (self ._frequency is None ) or (time .time () - self ._now >= self ._frequency ):
357
+ self ._result_handler_map .get (type (result ), self ._print_noop )(
358
+ result = result
359
+ )
360
+ self ._now = time .time ()
361
+ self ._first = False
356
362
357
363
def _print_noop (self , ** kwargs ):
358
364
# If the result does not have a handler, then do nothing with it.
0 commit comments