@@ -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