diff --git a/documento_printserver/print_server.py b/documento_printserver/print_server.py index fe001c51f41d38f38229a61d12ea7d2ac169490d..af1087b1a7aab5666f9d21f2bd57c7cc0d50c797 100644 --- a/documento_printserver/print_server.py +++ b/documento_printserver/print_server.py @@ -74,19 +74,24 @@ categories_url = base_url + "/api/categories/" def print_server(): while True: - # Get auth token - r = requests.post( - login_url, - json={ - "username": settings.get("server.username"), - "password": settings.get("server.password"), - }, - ) - token = r.json()["token"] - headers = {"Authorization": f"Token {token}"} - - # Fetch print jobs - jobs = requests.get(jobs_url, headers=headers).json() + try: + # Get auth token + r = requests.post( + login_url, + json={ + "username": settings.get("server.username"), + "password": settings.get("server.password"), + }, + ) + token = r.json()["token"] + headers = {"Authorization": f"Token {token}"} + + # Fetch print jobs + jobs = requests.get(jobs_url, headers=headers).json() + except requests.exceptions.ConnectionError: + print("Fetching latest jobs failed due to a connection error.") + time.sleep(3) + continue # Fetch categories categories = requests.get(categories_url, headers=headers).json()