Skip to content
Snippets Groups Projects
Commit eedb5f65 authored by Jorrit Schaap's avatar Jorrit Schaap
Browse files

TMSS-000: improved check for running server

parent ace72c26
No related branches found
No related tags found
No related merge requests found
...@@ -208,7 +208,7 @@ class TMSSDjangoServerInstance(): ...@@ -208,7 +208,7 @@ class TMSSDjangoServerInstance():
# wait for server to be up and running.... # wait for server to be up and running....
# or exit via TimeoutError # or exit via TimeoutError
self.check_running_server(timeout=10) self.check_running_server(timeout=30)
def stop(self): def stop(self):
''' '''
...@@ -226,12 +226,13 @@ class TMSSDjangoServerInstance(): ...@@ -226,12 +226,13 @@ class TMSSDjangoServerInstance():
def check_running_server(self, timeout: float = 10) -> bool: def check_running_server(self, timeout: float = 10) -> bool:
'''Check the running django server for a valid response''' '''Check the running django server for a valid response'''
try: import requests
import requests, urllib3
from _datetime import datetime, timedelta from _datetime import datetime, timedelta
start = datetime.utcnow() start = datetime.utcnow()
while True: while True:
try: try:
logger.info("Checking if TMSS Django server is up and running at %s with database: %s and LDAP: %s ....",
self.url, self.database_dbcreds, self.ldap_dbcreds)
response = requests.get(self.url, auth=(self.ldap_dbcreds.user, self.ldap_dbcreds.password), timeout=max(1, timeout/10)) response = requests.get(self.url, auth=(self.ldap_dbcreds.user, self.ldap_dbcreds.password), timeout=max(1, timeout/10))
if response.status_code in [200, 401, 403]: if response.status_code in [200, 401, 403]:
...@@ -244,13 +245,10 @@ class TMSSDjangoServerInstance(): ...@@ -244,13 +245,10 @@ class TMSSDjangoServerInstance():
# TODO: logout, otherwise django remembers our login session. # TODO: logout, otherwise django remembers our login session.
return True return True
except Exception as e: except Exception as e:
time.sleep(0.25) time.sleep(0.5)
if datetime.utcnow() - start > timedelta(seconds=timeout): if datetime.utcnow() - start > timedelta(seconds=timeout):
raise TimeoutError("Could not get a valid response from the django server at %s" % self.url) raise TimeoutError("Could not get a valid response from the django server at %s within %s seconds" % (self.url,timeout))
except Exception as e:
logger.error(e)
return False
def __enter__(self): def __enter__(self):
try: try:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment