Skip to content

Commit

Permalink
Merge pull request #131 from FAIRDataPipeline/hotfix/remove-auto-serv…
Browse files Browse the repository at this point in the history
…er-stop

Do not terminate server upon completion
  • Loading branch information
kzscisoft committed Nov 19, 2021
2 parents b214da5 + 760df28 commit df4449d
Showing 1 changed file with 18 additions and 17 deletions.
35 changes: 18 additions & 17 deletions fair/session.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,9 +213,7 @@ def purge(
def _setup_server(self) -> None:
"""Start or stop the server if required"""

# If a session ID has been specified this means the server is auto
# started as opposed to being started explcitly by the user
# this means it will be shut down on completion

self._logger.debug(f"Running server setup for run mode {self._run_mode}")
if self._run_mode == fdp_serv.SwitchMode.CLI:
self._setup_server_cli_mode()
Expand All @@ -225,15 +223,24 @@ def _setup_server(self) -> None:
fdp_serv.SwitchMode.USER_STOP,
fdp_serv.SwitchMode.FORCE_STOP,
]:
_cache_addr = os.path.join(fdp_com.session_cache_dir(), "user.run")
if not fdp_serv.check_server_running():
raise fdp_exc.UnexpectedRegistryServerState("Server is not running.")
if os.path.exists(_cache_addr):
os.remove(_cache_addr)
click.echo("Stopping local registry server.")
fdp_serv.stop_server(
force=self._run_mode == fdp_serv.SwitchMode.FORCE_STOP,
self._stop_server()

def _stop_server(self) -> None:
_cache_addr = os.path.join(fdp_com.session_cache_dir(), "user.run")
if not fdp_serv.check_server_running():
raise fdp_exc.UnexpectedRegistryServerState("Server is not running.")
if os.path.exists(_cache_addr):
os.remove(_cache_addr)
click.echo("Stopping local registry server.")
if (os.listdir(fdp_com.session_cache_dir())
and self._run_mode != fdp_serv.SwitchMode.FORCE_STOP):
raise fdp_exc.UnexpectedRegistryServerState(
"Cannot stop registry, a process may still be running",
hint="You can force stop using '--force'"
)
fdp_serv.stop_server(
force=self._run_mode == fdp_serv.SwitchMode.FORCE_STOP,
)

def _setup_server_cli_mode(self):
self.check_is_repo()
Expand Down Expand Up @@ -614,12 +621,6 @@ def close_session(self) -> None:
)
os.remove(_cache_addr)

if (
not os.path.exists(os.path.join(fdp_com.session_cache_dir(), "user.run"))
and self._run_mode != fdp_serv.SwitchMode.NO_SERVER
):
fdp_serv.stop_server()

with open(fdp_com.global_fdpconfig(), "w") as f:
yaml.dump(self._global_config, f)
with open(fdp_com.local_fdpconfig(self._session_loc), "w") as f:
Expand Down

0 comments on commit df4449d

Please sign in to comment.