From 93cea292a43a07bc847ac1af3ae78ed8fcaac9c0 Mon Sep 17 00:00:00 2001 From: Oskaril-data Date: Mon, 15 Jun 2026 11:05:09 +0300 Subject: [PATCH 1/2] Implementing a dynamic resolution task counter --- src/nightly_update_workflow/worker/main.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/src/nightly_update_workflow/worker/main.py b/src/nightly_update_workflow/worker/main.py index 68cc3b89..8660ac1b 100644 --- a/src/nightly_update_workflow/worker/main.py +++ b/src/nightly_update_workflow/worker/main.py @@ -4,7 +4,8 @@ import sys sys.path.append(os.path.join(os.path.dirname(__file__), "../..")) -from helpers import cloud_run, dates, question_curation # noqa: E402 +from helpers import cloud_run, dates, env, question_curation # noqa: E402 +from orchestration import _io metadata = [ [ @@ -12,11 +13,18 @@ ("func-metadata-validate-questions", False, cloud_run.timeout_1h, 1), ] ] -resolve_forecasts = [ - [ - ("func-resolve-forecasts", True, cloud_run.timeout_1h * 3, 50), - ] -] + + +def get_resolve_forecasts(): + """Build the resolve_forecasts job list with one task per forecast set folder.""" + _, date_folders = _io.get_valid_forecast_files_and_dates(bucket=env.FORECAST_SETS_BUCKET) + task_count = len(date_folders) + if task_count == 0: + print("WARNING: No forecast set folders found in bucket, running 1 task.") + task_count = 1 + return [[("func-resolve-forecasts", True, cloud_run.timeout_1h * 3, task_count)]] + + leaderboards = [ [ ("func-leaderboard-tournament", True, cloud_run.timeout_1h * 4, 1), @@ -146,7 +154,7 @@ def main(): "metadata": metadata, "create_question_set": get_create_question_set(), "publish_question_set_make_llm_baseline": get_publish_question_set_make_llm_baseline(), - "resolve_forecasts": resolve_forecasts, + "resolve_forecasts": get_resolve_forecasts(), "leaderboards": leaderboards, "naive_and_dummy_forecasters": get_naive_and_dummy_forecasters(), "website": website, From 3d8dc7f29f2f1bcb3276a675a49a561dfe1c79b9 Mon Sep 17 00:00:00 2001 From: Oskaril-data Date: Mon, 15 Jun 2026 11:46:20 +0300 Subject: [PATCH 2/2] Added raise ValueError if no folders found, and fixed CI run --- src/nightly_update_workflow/worker/main.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/nightly_update_workflow/worker/main.py b/src/nightly_update_workflow/worker/main.py index 8660ac1b..417f548f 100644 --- a/src/nightly_update_workflow/worker/main.py +++ b/src/nightly_update_workflow/worker/main.py @@ -5,7 +5,7 @@ sys.path.append(os.path.join(os.path.dirname(__file__), "../..")) from helpers import cloud_run, dates, env, question_curation # noqa: E402 -from orchestration import _io +from orchestration import _io # noqa: E402 metadata = [ [ @@ -20,8 +20,7 @@ def get_resolve_forecasts(): _, date_folders = _io.get_valid_forecast_files_and_dates(bucket=env.FORECAST_SETS_BUCKET) task_count = len(date_folders) if task_count == 0: - print("WARNING: No forecast set folders found in bucket, running 1 task.") - task_count = 1 + raise ValueError("No forecast set folder found in bucket") return [[("func-resolve-forecasts", True, cloud_run.timeout_1h * 3, task_count)]]