From 2478a6f2084e0217983dafb6862b1ec4fd4f6049 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Fri, 16 Sep 2016 17:22:29 +0100 Subject: bitbake: 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. (Bitbake rev: 62955224a6d99e9f581d2bef924058070bfa4c43) Signed-off-by: Ed Bartosh Signed-off-by: Michael Wood Signed-off-by: Richard Purdie --- bitbake/lib/toaster/orm/models.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/toaster/orm/models.py') diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 8ee0c87376..38d014a7f8 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/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) -- cgit v1.2.3-54-g00ecf