From: Michael Wood Date: Fri, 28 Oct 2016 15:48:47 +0000 (+0300) Subject: toaster: orm models Handle run builds process not yet running X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=60d3f93836da5523705b0b2e25567d1c9040ec89;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git toaster: orm models Handle run builds process not yet running During tests we may want to call the runbuilds process manually for example when doing a "one shot" approach rather than a long running process during tests. Signed-off-by: Michael Wood Signed-off-by: Ed Bartosh Signed-off-by: Richard Purdie --- diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index a7de57c2561..9a4db1e856a 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -1741,8 +1741,12 @@ def invalidate_cache(**kwargs): def signal_runbuilds(): """Send SIGUSR1 to runbuilds process""" - with open(os.path.join(os.getenv('BUILDDIR'), '.runbuilds.pid')) as pidf: - os.kill(int(pidf.read()), SIGUSR1) + try: + with open(os.path.join(os.getenv('BUILDDIR'), + '.runbuilds.pid')) as pidf: + os.kill(int(pidf.read()), SIGUSR1) + except FileNotFoundError: + logger.info("Stopping existing runbuilds: no current process found") django.db.models.signals.post_save.connect(invalidate_cache) django.db.models.signals.post_delete.connect(invalidate_cache)