buildslave-janitor: Add in try/except handling to make calls robust against failure
PATCH 2/2 buildslave-janitor: Add in try/except handling to make calls robust against failure
There is a suspicion that the command can fail causing the janitor trash removal process to exit. This adds in some exception handling to deal with this. It include a timeout to stop it entering nasty loops.
This combined with the previous patch should let us figure out what error conditions its hitting.
--- bin/buildslave-janitor | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)
bin/buildslave-janitor +10 -5
@@ -66,11 +66,16 @@ def trash_processor(trashdir): print("Not prepared to use a trashdir of /") return while True: - files = os.listdir(trashdir) - if files: - os.system("ionice -c 3 rm %s -rf" % trashdir) - else: - time.sleep(30*60) # 30 minutes + try: + files = os.listdir(trashdir) + if files: + os.system("ionice -c 3 rm %s -rf" % trashdir) + else: + time.sleep(30*60) # 30 minutes + except Exception as e: + print("Exception %s in trash cleaner" % str(e)) + time.sleep(60) # 1 minute timeout to prevent crazy looping + pass return def mirror_processor(mirrordir):
Both patches look good, Reviewed-by: Ross Burton <[email protected]>
Ross
Quoted 41 lines · Richard Purdie
There is a suspicion that the command can fail causing the janitor trash removal process to exit. This adds in some exception handling to deal with this. It include a timeout to stop it entering nasty loops.
This combined with the previous patch should let us figure out what error conditions its hitting.
Signed-off-by Richard Purdie <[email protected]>--- bin/buildslave-janitor | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)bin/buildslave-janitor +10
-5@@ -66,11 +66,16 @@ def trash_processor(trashdir): print("Not prepared to use a trashdir of /") return while True: - files = os.listdir(trashdir) - if files: - os.system("ionice -c 3 rm %s -rf" % trashdir) - else: - time.sleep(30*60) # 30 minutes + try: + files = os.listdir(trashdir) + if files: + os.system("ionice -c 3 rm %s -rf" % trashdir) + else: + time.sleep(30*60) # 30 minutes + except Exception as e: + print("Exception %s in trash cleaner" % str(e)) + time.sleep(60) # 1 minute timeout to prevent crazy looping + pass return def mirror_processor(mirrordir):
Agreed. Pulling them. Thanks.
-b
Quoted 57 lines · Ross
Both patches look good, Reviewed-by: Ross Burton <[email protected]>
Ross
Quoted 31 lines · Richard Purdie
There is a suspicion that the command can fail causing the janitor trash removal process to exit. This adds in some exception handling to deal with this. It include a timeout to stop it entering nasty loops.
This combined with the previous patch should let us figure out what error conditions its hitting.
Signed-off-by Richard Purdie <[email protected]>--- bin/buildslave-janitor | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-)bin/buildslave-janitor +3
-5@@ -66,11 +66,16 @@ def trash_processor(trashdir): print("Not prepared to use a trashdir of /") return while True: - files = os.listdir(trashdir) - if files: - os.system("ionice -c 3 rm %s -rf" % trashdir) - else: - time.sleep(30*60) # 30 minutes + try: + files = os.listdir(trashdir) + if files:bin/buildslave-janitor def trash_processor(trashdir): · line 81
Quoted 10 lines
bin/buildslave-janitor +7
-0+ os.system("ionice -c 3 rm %s -rf" % trashdir) + else: + time.sleep(30*60) # 30 minutes + except Exception as e: + print("Exception %s in trash cleaner" % str(e)) + time.sleep(60) # 1 minute timeout to prevent crazy looping + pass return def mirror_processor(mirrordir):---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
Signature · 3 lines
Elizabeth Flanagan Yocto Project Build and Release