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 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)