From ee89ae5b835198c1643f840e4018ed49c11fad7f Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 21 Mar 2026 16:21:33 +0000 Subject: [PATCH] Speed up check-updates script by parallelizing HTTP requests Co-authored-by: Serendeep <36764254+Serendeep@users.noreply.github.com> --- scripts/check-updates.py | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/scripts/check-updates.py b/scripts/check-updates.py index 7415e46..dad6d5b 100755 --- a/scripts/check-updates.py +++ b/scripts/check-updates.py @@ -17,6 +17,7 @@ import sys import tomllib import urllib.request +import concurrent.futures import urllib.error from pathlib import Path @@ -222,21 +223,23 @@ def main() -> None: sys.exit(1) updates = [] - for formula_path in formula_files: - if formula_path.name == "simple.toml": - continue - result = check_formula(formula_path) - if result: - updates.append(result) - - if apply_updates: - print(f" Applying update to {formula_path}...", file=sys.stderr) - update_formula_file( - formula_path, - result["new_version"], - result["new_url"], - result["new_sha256"], - ) + formulas_to_check = [f for f in formula_files if f.name != "simple.toml"] + + with concurrent.futures.ThreadPoolExecutor() as executor: + results = executor.map(check_formula, formulas_to_check) + + for formula_path, result in zip(formulas_to_check, results): + if result: + updates.append(result) + + if apply_updates: + print(f" Applying update to {formula_path}...", file=sys.stderr) + update_formula_file( + formula_path, + result["new_version"], + result["new_url"], + result["new_sha256"], + ) print(json.dumps(updates, indent=2))