mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00: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
|
printintervaldelta = 10 * 60 # 10 minutes
|
||||||
printinterval = printintervaldelta
|
printinterval = printintervaldelta
|
||||||
lastprint = time.time()
|
pinginterval = 1 * 60 # 1 minute
|
||||||
|
lastevent = lastprint = time.time()
|
||||||
|
|
||||||
termfilter = tf(main, helper, console_handlers, params.options.quiet)
|
termfilter = tf(main, helper, console_handlers, params.options.quiet)
|
||||||
atexit.register(termfilter.finish)
|
atexit.register(termfilter.finish)
|
||||||
@@ -637,11 +638,20 @@ def main(server, eventHandler, params, tf = TerminalFilter):
|
|||||||
printinterval += printintervaldelta
|
printinterval += printintervaldelta
|
||||||
event = eventHandler.waitEvent(0)
|
event = eventHandler.waitEvent(0)
|
||||||
if event is None:
|
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:
|
if not parseprogress:
|
||||||
termfilter.updateFooter()
|
termfilter.updateFooter()
|
||||||
event = eventHandler.waitEvent(0.25)
|
event = eventHandler.waitEvent(0.25)
|
||||||
if event is None:
|
if event is None:
|
||||||
continue
|
continue
|
||||||
|
lastevent = time.time()
|
||||||
helper.eventHandler(event)
|
helper.eventHandler(event)
|
||||||
if isinstance(event, bb.runqueue.runQueueExitWait):
|
if isinstance(event, bb.runqueue.runQueueExitWait):
|
||||||
if not main.shutdown:
|
if not main.shutdown:
|
||||||
|
|||||||
Reference in New Issue
Block a user