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 <ed.bartosh@linux.intel.com>
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2016-09-16 17:22:29 +01:00 committed by Richard Purdie
parent 483c16a7ce
commit 2478a6f208
1 changed files with 7 additions and 1 deletions

View File

@ -33,9 +33,10 @@ from django.conf import settings
import django.db.models.signals import django.db.models.signals
import sys import sys
import os.path import os
import re import re
import itertools import itertools
from signal import SIGUSR1
import logging import logging
logger = logging.getLogger("toaster") logger = logging.getLogger("toaster")
@ -1736,6 +1737,11 @@ def invalidate_cache(**kwargs):
except Exception as e: except Exception as e:
logger.warning("Problem with cache backend: Failed to clear cache: %s" % 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_save.connect(invalidate_cache)
django.db.models.signals.post_delete.connect(invalidate_cache) django.db.models.signals.post_delete.connect(invalidate_cache)
django.db.models.signals.m2m_changed.connect(invalidate_cache) django.db.models.signals.m2m_changed.connect(invalidate_cache)