in mozci/console/commands/batch_execution.py [0:0]
def run_combinations_for_push(push):
push = Push(push["rev"], branch=push["branch"])
push_dir = f"{BASE_OUTPUT_DIR}/{push.id}"
if not os.path.exists(push_dir):
os.makedirs(push_dir)
csv_rows = []
for parameters in PARAMETERS_COMBINATIONS:
run_id = uuid.uuid4()
start = time.time()
try:
classification, regressions = push.classify(**parameters)
end = time.time()
# Only save results to a JSON file if the execution was successful
classification_name = classification.name
create_json_file(push, run_id, classification_name, regressions)
except Exception as e:
end = time.time()
classification_name = "SYSTEM_ERROR"
logger.error(
f"An error occurred during the classification of push {push.push_uuid}: {e}"
)
csv_rows.append(
{
"run_uuid": run_id,
"push_uuid": push.push_uuid,
**parameters,
"classification": classification_name,
"time_spent": round(end - start, 3),
"now": datetime.datetime.now(),
}
)
return csv_rows