def METHOD_NAME(day: pendulum.datetime, input_table_name: str, gtfs_filename: str):
    fs = get_fs()
    day = pendulum.instance(day).date()
    files, missing, invalid = fetch_all_in_partition(
        cls=GTFSScheduleFeedFile,
        bucket=SCHEDULE_UNZIPPED_BUCKET,
        table=input_table_name,
        partitions={
            "dt": day,
        },
        verbose=True,
    )
    if missing or invalid:
        logging.error(f"missing: {missing}")
        logging.error(f"invalid: {invalid}")
        raise RuntimeError("found files with missing or invalid metadata; failing job")
    if not files:
        logging.warn(f"No files found for {input_table_name} for {day}")
        return
    logging.info(f"Processing {len(files)} {input_table_name} records for {day}")
    outcomes = []
    for file in files:
        outcome = parse_individual_file(fs, file, gtfs_filename)
        outcomes.append(outcome)
    assert (
        len({outcome.feed_file.table for outcome in outcomes}) == 1
    ), "somehow you're processing multiple input tables"
    result = ScheduleParseResult(filename="results.jsonl", dt=day, outcomes=outcomes)
    result.save(fs)
    assert len(files) == len(
        result.outcomes
    ), f"ended up with {len(outcomes)} outcomes from {len(files)} files"
    success_rate = len(result.successes) / len(files)
    if success_rate < GTFS_PARSE_ERROR_THRESHOLD:
        raise RuntimeError(
            f"Success rate: {success_rate:.3f} was below error threshold: {GTFS_PARSE_ERROR_THRESHOLD}"
        )