force session commit in AddLogForJob() if no recent commit - 5 seconds

This commit is contained in:
2021-07-07 18:05:24 +10:00
parent fbd9e72f28
commit 3dbcf68dad
2 changed files with 10 additions and 4 deletions

View File

@@ -409,7 +409,16 @@ def AddLogForJob(job, message):
session.add(log)
# some logs have DEBUG: in front, so clean that up
message = message.replace("DEBUG:", "" )
print( f"DEBUG: {message}" )
# if its been more than 5 seconds since our last log, then commit to the DB to show some progress
if hasattr(job, 'last_commit'):
if (now - job.last_commit).seconds > 5:
job.last_commmit=now
print( "DELME: we have taken longer than 5 seconds since last commit so do it")
session.commit()
else:
job.last_commit = now
if DEBUG:
print( f"DEBUG: {message}" )
return
def RunJob(job):
@@ -1119,7 +1128,6 @@ def ProcessFilesInDir(job, e, file_func, count_dirs):
else:
d=session.query(Dir).filter(Dir.eid==e.id).first()
if count_dirs:
print( f"{e.name} about to add 1 to cfn for a dir, {job.current_file_num}" )
job.current_file_num+=1
files = session.query(Entry).join(EntryDirLink).filter(EntryDirLink.dir_eid==d.eid).all()
for sub in files: