Skip to content

Commit f51cbfa

Browse files
committed
fix query tuple
1 parent 9f4d2a8 commit f51cbfa

File tree

1 file changed

+25
-8
lines changed

1 file changed

+25
-8
lines changed

functions-python/tasks_executor/src/tasks/validation_reports/rebuild_missing_validation_reports.py

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,13 @@ def rebuild_missing_validation_reports(
106106
for i in range(0, len(dataset_ids), limit):
107107
batch_ids = dataset_ids[i : i + limit]
108108
datasets = (
109-
db_session.query(Gtfsdataset).filter(Gtfsdataset.id.in_(batch_ids)).all()
109+
db_session.query(Gtfsfeed.stable_id, Gtfsdataset.stable_id)
110+
.select_from(Gtfsfeed)
111+
.join(Gtfsdataset, Gtfsdataset.feed_id == Gtfsfeed.id)
112+
.filter(Gtfsdataset.id.in_(batch_ids))
113+
.all()
110114
)
111-
logging.debug("Found %s datasets, offset %s", len(datasets), offset)
115+
logging.info("Found %s datasets, offset %s", len(datasets), offset)
112116

113117
if not dry_run:
114118
execute_workflows(
@@ -122,13 +126,20 @@ def rebuild_missing_validation_reports(
122126
total_processed += len(datasets)
123127

124128
message = (
125-
"Rebuild missing validation reports task executed successfully."
126-
if not dry_run
127-
else "Dry run: no datasets processed."
129+
"Dry run: no datasets processed."
130+
if dry_run
131+
else "Rebuild missing validation reports task executed successfully."
128132
)
129133
return {
130134
"message": message,
131135
"total_processed": total_processed,
136+
"params": {
137+
"dry_run": dry_run,
138+
"filter_after_in_days": filter_after_in_days,
139+
"filter_statuses": filter_statuses,
140+
"prod_env": prod_env,
141+
"validator_endpoint": validator_endpoint,
142+
},
132143
}
133144

134145

@@ -143,7 +154,13 @@ def get_parameters(payload):
143154
"""
144155
prod_env = os.getenv("ENV", "").lower() == "prod"
145156
validator_endpoint = get_gtfs_validator_url(prod_env)
146-
dry_run = payload.get("dry_run")
147-
filter_after_in_days = payload.get("filter_after_in_days")
148-
filter_statuses = payload.get("filter_statuses")
157+
dry_run = payload.get("dry_run", True)
158+
dry_run = dry_run if isinstance(dry_run, bool) else str(dry_run).lower() == "true"
159+
filter_after_in_days = payload.get("filter_after_in_days", 7)
160+
filter_after_in_days = (
161+
filter_after_in_days
162+
if isinstance(filter_after_in_days, int)
163+
else int(filter_after_in_days)
164+
)
165+
filter_statuses = payload.get("filter_statuses", None)
149166
return dry_run, filter_after_in_days, filter_statuses, prod_env, validator_endpoint

0 commit comments

Comments
 (0)