From 7b1c2aff78a4e8f5e6f508b8e6b1b7411be877bc Mon Sep 17 00:00:00 2001
From: Christopher Rhodes <christopher.rhodes@embl.de>
Date: Mon, 8 Jan 2024 12:14:11 +0100
Subject: [PATCH] Added retry mechanism to status confirmation, to address
 suspect timeout problem

---
 README.md                          |  7 +++----
 model_server/scripts/run_server.py | 10 +++++++++-
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/README.md b/README.md
index fddf05b7..eb03b1da 100644
--- a/README.md
+++ b/README.md
@@ -10,10 +10,9 @@ model_server implement image analysis jobs for online use (e.g. in feedback micr
    `cd %userprofile%`<br>
    `git clone https://almf-staff:KJmFvyPRbpzoVZDqfMzV@git.embl.de/rhodes/model_server.git`
 5. Open the newly created project root: `cd model_server`
-6. Create the environment: `mamba create -n model_server_env --override-channels -c pytorch -c ilastik-forge -c conda-forge ilastik`
-7. In the same terminal, run: `mamba init`
-8. Now close and re-open the terminal: `Miniforge3 > Miniforge Prompt`
-9. Now activate the environment: `mamba activate model_server_env`
+6. Create the environment: `mamba env create --file requirements.yml --name model_server_env`
+7. Activate the environment: `mamba activate model_server_env`
+8. 
 
 # Examples
 
diff --git a/model_server/scripts/run_server.py b/model_server/scripts/run_server.py
index 1b0339bf..6b8ad33d 100644
--- a/model_server/scripts/run_server.py
+++ b/model_server/scripts/run_server.py
@@ -1,6 +1,8 @@
 import argparse
 from multiprocessing import Process
 import requests
+from requests.adapters import HTTPAdapter
+from urllib3 import Retry
 import uvicorn
 import webbrowser
 
@@ -48,7 +50,13 @@ if __name__ == '__main__':
     server_process.start()
 
     try:
-        resp = requests.get(url)
+        sesh = requests.Session()
+        retries = Retry(
+            total=5,
+            backoff_factor=0.1,
+        )
+        sesh.mount('http://', HTTPAdapter(max_retries=retries))
+        resp = sesh.get(url)
         assert resp.status_code == 200
     except Exception:
         print('Error starting server')
-- 
GitLab