knotty: Improve task failure message handling using the uihelper code
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
parent
5c62833766
commit
5ebad0d500
|
@ -1042,11 +1042,11 @@ class RunQueue:
|
||||||
try:
|
try:
|
||||||
while self.stats.active > 0:
|
while self.stats.active > 0:
|
||||||
bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
|
bb.event.fire(runQueueExitWait(self.stats.active), self.cfgData)
|
||||||
bb.msg.note(1, bb.msg.domain.RunQueue, "Waiting for %s active tasks to finish" % self.stats.active)
|
#bb.msg.note(1, bb.msg.domain.RunQueue, "Waiting for %s active tasks to finish" % self.stats.active)
|
||||||
tasknum = 1
|
#tasknum = 1
|
||||||
for k, v in self.build_pids.iteritems():
|
#for k, v in self.build_pids.iteritems():
|
||||||
bb.msg.note(1, bb.msg.domain.RunQueue, "%s: %s (pid %s)" % (tasknum, self.get_user_idstring(v), k))
|
# bb.msg.note(1, bb.msg.domain.RunQueue, "%s: %s (pid %s)" % (tasknum, self.get_user_idstring(v), k))
|
||||||
tasknum = tasknum + 1
|
# tasknum = tasknum + 1
|
||||||
result = os.waitpid(-1, os.WNOHANG)
|
result = os.waitpid(-1, os.WNOHANG)
|
||||||
if result[0] is 0 and result[1] is 0:
|
if result[0] is 0 and result[1] is 0:
|
||||||
return
|
return
|
||||||
|
|
|
@ -23,6 +23,9 @@ import os
|
||||||
import sys
|
import sys
|
||||||
import itertools
|
import itertools
|
||||||
import xmlrpclib
|
import xmlrpclib
|
||||||
|
from bb import ui
|
||||||
|
from bb.ui import uihelper
|
||||||
|
|
||||||
|
|
||||||
parsespin = itertools.cycle( r'|/-\\' )
|
parsespin = itertools.cycle( r'|/-\\' )
|
||||||
|
|
||||||
|
@ -32,6 +35,8 @@ def init(server, eventHandler):
|
||||||
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
|
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
|
||||||
loglines = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
|
loglines = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
|
||||||
|
|
||||||
|
helper = uihelper.BBUIHelper()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
cmdline = server.runCommand(["getCmdLineAction"])
|
cmdline = server.runCommand(["getCmdLineAction"])
|
||||||
#print cmdline
|
#print cmdline
|
||||||
|
@ -53,6 +58,19 @@ def init(server, eventHandler):
|
||||||
if event is None:
|
if event is None:
|
||||||
continue
|
continue
|
||||||
#print event
|
#print event
|
||||||
|
helper.eventHandler(event)
|
||||||
|
if isinstance(event, bb.runqueue.runQueueExitWait):
|
||||||
|
if not shutdown:
|
||||||
|
shutdown = 1
|
||||||
|
if shutdown and helper.needUpdate:
|
||||||
|
activetasks, failedtasks = helper.getTasks()
|
||||||
|
if activetasks:
|
||||||
|
print "Waiting for %s active tasks to finish:" % len(activetasks)
|
||||||
|
tasknum = 1
|
||||||
|
for task in activetasks:
|
||||||
|
print "%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task)
|
||||||
|
tasknum = tasknum + 1
|
||||||
|
|
||||||
if isinstance(event, bb.msg.MsgPlain):
|
if isinstance(event, bb.msg.MsgPlain):
|
||||||
print event._message
|
print event._message
|
||||||
continue
|
continue
|
||||||
|
@ -139,6 +157,8 @@ def init(server, eventHandler):
|
||||||
continue
|
continue
|
||||||
if isinstance(event, bb.runqueue.runQueueEvent):
|
if isinstance(event, bb.runqueue.runQueueEvent):
|
||||||
continue
|
continue
|
||||||
|
if isinstance(event, bb.runqueue.runQueueExitWait):
|
||||||
|
continue
|
||||||
if isinstance(event, bb.event.StampUpdate):
|
if isinstance(event, bb.event.StampUpdate):
|
||||||
continue
|
continue
|
||||||
if isinstance(event, bb.event.ConfigParsed):
|
if isinstance(event, bb.event.ConfigParsed):
|
||||||
|
|
|
@ -21,18 +21,18 @@ class BBUIHelper:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.needUpdate = False
|
self.needUpdate = False
|
||||||
self.running_tasks = {}
|
self.running_tasks = {}
|
||||||
self.failed_tasks = {}
|
self.failed_tasks = []
|
||||||
|
|
||||||
def eventHandler(self, event):
|
def eventHandler(self, event):
|
||||||
if isinstance(event, bb.build.TaskStarted):
|
if isinstance(event, bb.build.TaskStarted):
|
||||||
self.running_tasks["%s %s\n" % (event._package, event._task)] = ""
|
self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task) }
|
||||||
self.needUpdate = True
|
self.needUpdate = True
|
||||||
if isinstance(event, bb.build.TaskSucceeded):
|
if isinstance(event, bb.build.TaskSucceeded):
|
||||||
del self.running_tasks["%s %s\n" % (event._package, event._task)]
|
del self.running_tasks[event.pid]
|
||||||
self.needUpdate = True
|
self.needUpdate = True
|
||||||
if isinstance(event, bb.build.TaskFailed):
|
if isinstance(event, bb.build.TaskFailed):
|
||||||
del self.running_tasks["%s %s\n" % (event._package, event._task)]
|
del self.running_tasks[event.pid]
|
||||||
self.failed_tasks["%s %s\n" % (event._package, event._task)] = ""
|
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
|
||||||
self.needUpdate = True
|
self.needUpdate = True
|
||||||
|
|
||||||
# Add runqueue event handling
|
# Add runqueue event handling
|
||||||
|
@ -46,4 +46,5 @@ class BBUIHelper:
|
||||||
# a = 1
|
# a = 1
|
||||||
|
|
||||||
def getTasks(self):
|
def getTasks(self):
|
||||||
|
self.needUpdate = False
|
||||||
return (self.running_tasks, self.failed_tasks)
|
return (self.running_tasks, self.failed_tasks)
|
||||||
|
|
Loading…
Reference in New Issue