11import io
2- import os
32import re
43import sys
54import time
@@ -375,18 +374,23 @@ def status_server(self):
375374 connection .close ()
376375
377376
378- def search_unprocessed_tm_files (logging_dir , tm_dir ):
377+ def search_unprocessed_tm_files (logging_dir , tm_dir , last_processed ):
379378
380379 unprocessed_tm_files = list ()
381- list_of_log_files = logging_dir .glob ('*.out' )
382- latest_log_file = max (list_of_log_files , key = os .path .getmtime )
383- print (f"{ latest_log_file } : { latest_log_file .stat ().st_mtime } " )
380+ latest_log_file = logging_dir / last_processed
384381 tm_file = Path (tm_dir / str (latest_log_file .name )[0 :- 4 ])
385- if tm_file .exists ():
386- ftime = tm_file .stat ().st_mtime
387- for tmf in tm_dir .glob ("*.xml" ):
388- if TM_REGEX .match (tmf .name ) and tmf .stat ().st_mtime > ftime :
389- unprocessed_tm_files .append (tmf )
382+ ftime = tm_file .stat ().st_mtime
383+
384+ for tmf in tm_dir .glob ("*.xml" ):
385+ log_out_file = logging_dir / (tmf .name + ".out" )
386+ log_file = logging_dir / (tmf .name + ".log" )
387+ logger .info (f"test: { tmf .name } " )
388+ if TM_REGEX .match (tmf .name ) and tmf .stat ().st_mtime > ftime and (not log_out_file .exists ()
389+ or not log_file .exists ()):
390+ unprocessed_tm_files .append (tmf )
391+ logger .info (f"NOT FOUND: { log_out_file .name } " )
392+ else :
393+ logger .info (f"found: { log_out_file .name } " )
390394 return unprocessed_tm_files
391395
392396
@@ -413,7 +417,8 @@ def main():
413417 PipelineStatus .instance = PipelineStatus (tm_handler )
414418 if CONFIG .getboolean ('Pipeline' , 'start_with_unprocessed' , fallback = True ):
415419 logger .info ("Searching for unprocessed tm files" )
416- unprocessed_tm_files = search_unprocessed_tm_files (log_dir , tmpath )
420+ last_processed = CONFIG .get ('Pipeline' , 'last_processed' , fallback = "" )
421+ unprocessed_tm_files = search_unprocessed_tm_files (log_dir , tmpath , last_processed )
417422 if unprocessed_tm_files :
418423 fl = '\n ' .join ([f .name for f in unprocessed_tm_files ])
419424 logger .info (f"Found unprocessed tm files: \n { fl } \n adding to queue." )
0 commit comments