Merge "Properly close streams"

This commit is contained in:
Zuul 2019-02-04 18:51:29 +00:00 committed by Gerrit Code Review
commit cf2cfdda51
4 changed files with 10 additions and 0 deletions

View File

@ -55,6 +55,7 @@ class WSClient(WebSocketBaseClient):
self.send(json.dumps(req))
self.event.set()
super(WSClient, self).run()
self.close()
class TestLogStreamer(tests.base.BaseTestCase):

View File

@ -141,6 +141,7 @@ class DiskAccountant(object):
.format(size=size, job=dirname, limit=self.limit))
self.usage_func(dirname, size)
du.wait()
du.stdout.close()
after = time.time()
# Sleep half as long as that took, or 1s, whichever is longer
delay_time = max((after - before) / 2, 1.0)
@ -1891,6 +1892,7 @@ class AnsibleJob(object):
self.log.debug("Stopped disk job killer")
with self.proc_lock:
self.proc.stdout.close()
self.proc = None
if timeout and watchdog.timed_out:

View File

@ -98,6 +98,11 @@ class RequestHandler(streamer_utils.BaseFingerRequestHandler):
if self.follow_log(log):
break
else:
if log is not None:
try:
log.file.close()
except Exception:
pass
return
def chunk_log(self, log_file):

View File

@ -185,9 +185,11 @@ class LogStreamer(object):
if data:
self.websocket.send(data, False)
self.zuulweb.stream_manager.unregisterStreamer(self)
self.finger_socket.close()
return self.websocket.logClose(1000, "No more data")
else:
self.zuulweb.stream_manager.unregisterStreamer(self)
self.finger_socket.close()
return self.websocket.logClose(1000, "Remote error")