From 5babee4615150faf8c4cec120b6084ae1db8ea1b Mon Sep 17 00:00:00 2001 From: Cristian <19746187+arduoi@users.noreply.github.com> Date: Wed, 10 Jun 2026 20:21:49 +0300 Subject: [PATCH] Add retry logic for folder creation confirmation Implement retry mechanism for folder visibility after creation. --- main.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/main.py b/main.py index d07466d9..2c209a64 100644 --- a/main.py +++ b/main.py @@ -216,13 +216,23 @@ def create_folder(profile_id: str, name: str, do: int, status: int) -> Optional[ ) # Re-fetch the list and pick the folder we just created - data = _api_get(f"{API_BASE}/{profile_id}/groups").json() - for grp in data["body"]["groups"]: - if grp["group"].strip() == name.strip(): - log.info("Created folder '%s' (ID %s)", name, grp["PK"]) - time.sleep(FOLDER_CREATION_DELAY) - return str(grp["PK"]) - + # Retry up to 5 times — folder may not appear immediately due to eventual consistency + for attempt in range(5): + data = _api_get(f"{API_BASE}/{profile_id}/groups").json() + for grp in data["body"]["groups"]: + if grp["group"].strip() == name.strip(): + log.info("Created folder '%s' (ID %s)", name, grp["PK"]) + time.sleep(FOLDER_CREATION_DELAY) + return str(grp["PK"]) + + if attempt < 4: + wait = 2 * (attempt + 1) + log.warning( + "Folder '%s' not yet visible (attempt %d/5), waiting %ds...", + name, attempt + 1, wait, + ) + time.sleep(wait) + log.error(f"Folder '{name}' was not found after creation") return None except (httpx.HTTPError, KeyError) as e: