[oe-commits] [bitbake] 01/06: knotty: Implement console 'keepalive' output

git at git.openembedded.org git at git.openembedded.org
Wed May 1 15:48:09 UTC 2019


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository bitbake.

commit aa4f31e5741dd98acec73f16f6028e52f4c22d6f
Author: Richard Purdie <richard.purdie at linuxfoundation.org>
AuthorDate: Fri Apr 26 18:02:27 2019 +0100

    knotty: Implement console 'keepalive' output
    
    CI systems like jenkins and buildbot will timeout applications which haven't had console output
    in some period of time. Add 'keepalive' output to knotty which gives output every 5000s if not
    other output was made and tasks are still running. This reduces some problems encountered
    with our CI testing.
    
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 lib/bb/ui/knotty.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/lib/bb/ui/knotty.py b/lib/bb/ui/knotty.py
index f362c23..4567c14 100644
--- a/lib/bb/ui/knotty.py
+++ b/lib/bb/ui/knotty.py
@@ -234,6 +234,11 @@ class TerminalFilter(object):
         else:
             return "%ds" % (sec)
 
+    def keepAlive(self, t):
+        if not self.cuu:
+            print("Bitbake still alive (%ds)" % t)
+            sys.stdout.flush()
+
     def updateFooter(self):
         if not self.cuu:
             return
@@ -467,11 +472,17 @@ def main(server, eventHandler, params, tf = TerminalFilter):
     warnings = 0
     taskfailures = []
 
+    printinterval = 5000
+    lastprint = time.time()
+
     termfilter = tf(main, helper, console, errconsole, format, params.options.quiet)
     atexit.register(termfilter.finish)
 
     while True:
         try:
+            if (lastprint + printinterval) <= time.time():
+                termfilter.keepAlive(printinterval)
+                printinterval += 5000
             event = eventHandler.waitEvent(0)
             if event is None:
                 if main.shutdown > 1:
@@ -500,6 +511,8 @@ def main(server, eventHandler, params, tf = TerminalFilter):
                 continue
 
             if isinstance(event, logging.LogRecord):
+                lastprint = time.time()
+                printinterval = 5000
                 if event.levelno >= format.ERROR:
                     errors = errors + 1
                     return_value = 1

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list