summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-09-16 17:22:29 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-20 15:18:51 +0100
commit62955224a6d99e9f581d2bef924058070bfa4c43 (patch)
treecaf415e1ecb93e6ccc68f9e12fa10c16a009b02a
parent7e9a89e3fde5e71cb859799635974ec41790c44d (diff)
downloadbitbake-contrib-62955224a6d99e9f581d2bef924058070bfa4c43.tar.gz
toaster: implement signal_runbuilds function
This function reads pid of runbuilds process from BUILDDIR/.runbuilds.pid and sends SIGUSR1 to it. signal_runbuilds function will be used in Toaster code to notify runbuilds when build is scheduled, finished or cancelled. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/toaster/orm/models.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index 8ee0c8737..38d014a7f 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -33,9 +33,10 @@ from django.conf import settings
import django.db.models.signals
import sys
-import os.path
+import os
import re
import itertools
+from signal import SIGUSR1
import logging
logger = logging.getLogger("toaster")
@@ -1736,6 +1737,11 @@ def invalidate_cache(**kwargs):
except Exception as e:
logger.warning("Problem with cache backend: Failed to clear cache: %s" % e)
+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)
+
django.db.models.signals.post_save.connect(invalidate_cache)
django.db.models.signals.post_delete.connect(invalidate_cache)
django.db.models.signals.m2m_changed.connect(invalidate_cache)