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