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,31 +226,29 @@ class TMSSDjangoServerInstance(): ...@@ -226,31 +226,29 @@ 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 ....",
response = requests.get(self.url, auth=(self.ldap_dbcreds.user, self.ldap_dbcreds.password), timeout=max(1, timeout/10)) 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))
if response.status_code in [200, 401, 403]:
logger.info("TMSS Django server is up and running at %s with database: %s and LDAP: %s", if response.status_code in [200, 401, 403]:
self.url, self.database_dbcreds, self.ldap_dbcreds) logger.info("TMSS Django server is up and running at %s with database: %s and LDAP: %s",
self.url, self.database_dbcreds, self.ldap_dbcreds)
if response.status_code in [401, 403]:
logger.warning("TMSS Django server at %s could not autenticate with LDAP creds: %s", self.url, self.ldap_dbcreds) if response.status_code in [401, 403]:
logger.warning("TMSS Django server at %s could not autenticate with LDAP creds: %s", self.url, self.ldap_dbcreds)
# TODO: logout, otherwise django remembers our login session.
return True # TODO: logout, otherwise django remembers our login session.
except Exception as e: return True
time.sleep(0.25) except Exception as e:
time.sleep(0.5)
if datetime.utcnow() - start > timedelta(seconds=timeout):
raise TimeoutError("Could not get a valid response from the django server at %s" % self.url) if datetime.utcnow() - start > timedelta(seconds=timeout):
except Exception as e: raise TimeoutError("Could not get a valid response from the django server at %s within %s seconds" % (self.url,timeout))
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.
Finish editing this message first!
Please register or to comment