island: Log a warning if MongoDbProcess.stop() is erroniously called

This commit is contained in:
Mike Salvatore 2021-06-02 15:35:46 -04:00
parent e80ac4c943
commit cc1865dc5b
1 changed files with 15 additions and 11 deletions

View File

@ -36,17 +36,21 @@ class MongoDbProcess:
logger.info("MongoDB launched successfully!")
def stop(self):
if self._process:
logger.info("Terminating MongoDB process")
self._process.terminate()
try:
self._process.wait(timeout=TERMINATE_TIMEOUT)
logger.info("MongoDB process terminated successfully")
except subprocess.TimeoutExpired as te:
logger.warning(
f"MongoDB did not terminate gracefully and will be forcefully killed: {te}"
)
self._process.kill()
if not self._process:
logger.warning("Failed to stop MongoDB process: No process found")
return
logger.info("Terminating MongoDB process")
self._process.terminate()
try:
self._process.wait(timeout=TERMINATE_TIMEOUT)
logger.info("MongoDB process terminated successfully")
except subprocess.TimeoutExpired as te:
logger.warning(
f"MongoDB did not terminate gracefully and will be forcefully killed: {te}"
)
self._process.kill()
@staticmethod
def _build_mongo_run_cmd(exec_path: str, db_dir: str) -> List[str]: