mirror of
https://git.yoctoproject.org/poky
synced 2026-02-15 21:23:04 +01:00
bitbake: knotty: Ping the server/cooker periodically
We're seeing failures where the UI hangs if the server disappears. Ping the cooker/server if we've not had any events in the last minute so we can check if it is still alive. (Bitbake rev: 6567ad6181f9e39812097f0154647e4b38238fdd) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -625,7 +625,8 @@ def main(server, eventHandler, params, tf = TerminalFilter):
|
||||
|
||||
printintervaldelta = 10 * 60 # 10 minutes
|
||||
printinterval = printintervaldelta
|
||||
lastprint = time.time()
|
||||
pinginterval = 1 * 60 # 1 minute
|
||||
lastevent = lastprint = time.time()
|
||||
|
||||
termfilter = tf(main, helper, console_handlers, params.options.quiet)
|
||||
atexit.register(termfilter.finish)
|
||||
@@ -637,11 +638,20 @@ def main(server, eventHandler, params, tf = TerminalFilter):
|
||||
printinterval += printintervaldelta
|
||||
event = eventHandler.waitEvent(0)
|
||||
if event is None:
|
||||
if (lastevent + pinginterval) <= time.time():
|
||||
ret, error = server.runCommand(["ping"])
|
||||
if error or not ret:
|
||||
termfilter.clearFooter()
|
||||
print("No reply after pinging server (%s, %s), exiting." % (str(error), str(ret)))
|
||||
return_value = 3
|
||||
main.shutdown = 2
|
||||
lastevent = time.time()
|
||||
if not parseprogress:
|
||||
termfilter.updateFooter()
|
||||
event = eventHandler.waitEvent(0.25)
|
||||
if event is None:
|
||||
continue
|
||||
lastevent = time.time()
|
||||
helper.eventHandler(event)
|
||||
if isinstance(event, bb.runqueue.runQueueExitWait):
|
||||
if not main.shutdown:
|
||||
|
||||
Reference in New Issue
Block a user