[yocto] [PATCH 2/2] buildslave-janitor: Add in try/except handling to make calls robust against failure

Burton, Ross ross.burton at intel.com
Wed Mar 19 07:28:02 PDT 2014


Both patches look good, Reviewed-by: Ross Burton <ross.burton at intel.com>

Ross

On 19 March 2014 14:03, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> 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 <richard.purdie at linuxfoundation.org>
> ---
>  bin/buildslave-janitor | 15 ++++++++++-----
>  1 file changed, 10 insertions(+), 5 deletions(-)
>
> diff --git a/bin/buildslave-janitor b/bin/buildslave-janitor
> index 153f18d..2cfef86 100755
> --- a/bin/buildslave-janitor
> +++ b/bin/buildslave-janitor
> @@ -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):
>
>
>



More information about the yocto mailing list