Browse Source

Fix search errors due to stream readers exiting before grep is finished

master
JustAnotherArchivist 3 years ago
parent
commit
65c4df27d2
1 changed files with 2 additions and 0 deletions
  1. +2
    -0
      irclog.py

+ 2
- 0
irclog.py View File

@@ -1040,6 +1040,8 @@ class WebServer:
stdoutTask = asyncio.create_task(process_stdout())
stderrTask = asyncio.create_task(process_stderr())
await asyncio.wait({stdoutTask, stderrTask}, timeout = self.config['web']['search']['maxTime'])
# The stream readers may quit before the process is done even on a successful grep. Wait a tiny bit longer for the process to exit.
await asyncio.wait({asyncio.create_task(proc.wait())}, timeout = 0.1)
if proc.returncode is None:
# Process hasn't finished yet after maxTime. Murder it and wait for it to die.
self.logger.warning(f'Request {id(request)} grep took more than the time limit')


Loading…
Cancel
Save