ab-janitor: only rm trashdir files over 60s old

[YOCTO #14952] -- https://bugzilla.yoctoproject.org/show_bug.cgi?id=14952

Help avoid contention by adding a check to ensure files and directories
are at least 60s old when attempting to delete them from the trashdir,
in case bitbake or another process is still actively using them.

Signed-off-by: Trevor Gamblin <tgamblin@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Trevor Gamblin 2023-06-13 13:05:01 -04:00 committed by Richard Purdie
parent 2f6ee29e0b
commit 1f059e36c0

View File

@ -43,7 +43,13 @@ def trash_processor(trashdir):
try:
files = os.listdir(trashdir)
if files:
os.system("nice -n 10 ionice -c 3 rm %s/* -rf" % trashdir)
for file in files:
file_path = trashdir + "/" + file
file_age = time.time() - os.path.getmtime(file_path)
if file_age >= 60:
os.system("nice -n 10 ionice -c 3 rm %s -rf" % file_path)
else:
print("Not removing '%s' - age is only %s seconds. There may be another process using it" % (file_path, str(int(file_age))))
else:
time.sleep(120*60) # 30 minutes
except Exception as e: