From 2ea0b1eb351043b4901b05d59ccb6f18b8861090 Mon Sep 17 00:00:00 2001 From: Max Chis Date: Fri, 12 Sep 2025 17:50:36 -0400 Subject: [PATCH] Set up progress bar task flag --- ENV.md | 7 ++++--- .../scheduled/impl/internet_archives/probe/operator.py | 4 +++- src/external/url_request/probe/core.py | 4 +++- src/util/progress_bar.py | 8 ++++++++ 4 files changed, 18 insertions(+), 5 deletions(-) create mode 100644 src/util/progress_bar.py diff --git a/ENV.md b/ENV.md index 73f6623a..427861d6 100644 --- a/ENV.md +++ b/ENV.md @@ -36,9 +36,10 @@ Flags are used to enable/disable certain features. They are set to `1` to enable Configuration flags are used to enable/disable certain configurations. -| Flag | Description | -|--------------|------------------------------------| -| `POST_TO_DISCORD_FLAG` | Enables posting errors to discord. | +| Flag | Description | +|--------------|--------------------------------------| +| `POST_TO_DISCORD_FLAG` | Enables posting errors to discord. | +| `PROGRESS_BAR_FLAG` | Enables progress bars on some tasks. | ## Task Flags diff --git a/src/core/tasks/scheduled/impl/internet_archives/probe/operator.py b/src/core/tasks/scheduled/impl/internet_archives/probe/operator.py index f3daf9cc..5afeded4 100644 --- a/src/core/tasks/scheduled/impl/internet_archives/probe/operator.py +++ b/src/core/tasks/scheduled/impl/internet_archives/probe/operator.py @@ -17,6 +17,7 @@ from src.db.models.impl.url.internet_archives.probe.pydantic import URLInternetArchiveMetadataPydantic from src.external.internet_archives.client import InternetArchivesClient from src.external.internet_archives.models.ia_url_mapping import InternetArchivesURLMapping +from src.util.progress_bar import get_progress_bar_disabled from src.util.url_mapper import URLMapper @@ -81,7 +82,8 @@ async def _search_for_internet_archive_links(self, urls: list[str]) -> list[Inte self.ia_client.search_for_url_snapshot(url) for url in urls ], - timeout=60 * 10 # 10 minutes + timeout=60 * 10, # 10 minutes + disable=get_progress_bar_disabled() ) async def _add_ia_metadata_to_db( diff --git a/src/external/url_request/probe/core.py b/src/external/url_request/probe/core.py index c718800c..c0cda2b8 100644 --- a/src/external/url_request/probe/core.py +++ b/src/external/url_request/probe/core.py @@ -9,6 +9,7 @@ from src.external.url_request.probe.convert import convert_client_response_to_probe_response, convert_to_error_response from src.external.url_request.probe.models.wrapper import URLProbeResponseOuterWrapper +from src.util.progress_bar import get_progress_bar_disabled class URLProbeManager: @@ -22,7 +23,8 @@ def __init__( async def probe_urls(self, urls: list[str]) -> list[URLProbeResponseOuterWrapper]: return await tqdm_asyncio.gather( *[self._probe(url) for url in urls], - timeout=60 * 10 # 10 minutes + timeout=60 * 10, # 10 minutes, + disable=get_progress_bar_disabled() ) async def _probe(self, url: str) -> URLProbeResponseOuterWrapper: diff --git a/src/util/progress_bar.py b/src/util/progress_bar.py new file mode 100644 index 00000000..615120ba --- /dev/null +++ b/src/util/progress_bar.py @@ -0,0 +1,8 @@ + +from environs import Env + +def get_progress_bar_disabled() -> bool: + env = Env() + env.read_env() + enabled: bool = env.bool("PROGRESS_BAR_FLAG", True) + return not enabled