More aggressive clearing of inbox queue

main
Bob Mottram 2020-03-25 10:07:16 +00:00
parent 23bb250deb
commit 25bff0dfbf
1 changed files with 18 additions and 17 deletions

View File

@ -721,11 +721,12 @@ class PubServer(BaseHTTPRequestHandler):
def _inboxQueueCleardown(self) -> None: def _inboxQueueCleardown(self) -> None:
""" Check if the queue is full and remove oldest items if it is """ Check if the queue is full and remove oldest items if it is
""" """
if len(self.server.inboxQueue)>=self.server.maxQueueLength: if len(self.server.inboxQueue)<self.server.maxQueueLength:
return
print('Inbox queue is full ('+str(self.server.maxQueueLength)+' items). Removing oldest items.') print('Inbox queue is full ('+str(self.server.maxQueueLength)+' items). Removing oldest items.')
cleardownStartTime=time.time() cleardownStartTime=time.time()
removals=0 removals=0
while len(self.server.inboxQueue) >= self.server.maxQueueLength-4: while len(self.server.inboxQueue) >= self.server.maxQueueLength/2:
queueFilename=self.server.inboxQueue[0] queueFilename=self.server.inboxQueue[0]
if os.path.isfile(queueFilename): if os.path.isfile(queueFilename):
try: try:
@ -5887,7 +5888,7 @@ class PubServer(BaseHTTPRequestHandler):
self.end_headers() self.end_headers()
self.server.POSTbusy=False self.server.POSTbusy=False
return return
if queueStatus==1: elif queueStatus==1:
self.send_response(503) self.send_response(503)
self.end_headers() self.end_headers()
self.server.POSTbusy=False self.server.POSTbusy=False