diff --git a/apiweb/content/main.py b/apiweb/content/main.py index 5ad4614..491a8c3 100644 --- a/apiweb/content/main.py +++ b/apiweb/content/main.py @@ -28,6 +28,6 @@ def concepcion(registro_id=None): if id is None: outfile = "concepcion_gtfs-rt.latest.proto" else: - outfile = "concepcion_gtfs-rt.{}.proto".format(record.timestamp.strftime("%H%md_%H%M_%S")) + outfile = "concepcion_gtfs-rt.{}.proto".format(record.timestamp.strftime("%H%m%d_%H%M_%S")) return send_file(os.path.abspath(record.filename), download_name=outfile) diff --git a/fetcher/main.py b/fetcher/main.py index 6af79d9..664baca 100644 --- a/fetcher/main.py +++ b/fetcher/main.py @@ -4,6 +4,7 @@ from tempfile import NamedTemporaryFile from shutil import copyfile from datetime import datetime from zoneinfo import ZoneInfo +from sqlalchemy.exc import SQLAlchemyError import requests import logging import time @@ -34,6 +35,13 @@ def load_proto(): db.add(nuevo_registro) db.commit() log.info("Fetched GTFS-RT Record {} in {}s".format(inicio.strftime("%Y%m%d_%H%M_%S"), (datetime.now(tz=ZoneInfo("America/Santiago"))-inicio).total_seconds())) + except PendingRollbackError: + db.rollback() + except SQLAlchemyError as e: + import traceback + log.error("Failed to fetch GTFS-RT Record {} in {}s".format(inicio.strftime("%Y%m%d_%H%M_%S"), (datetime.now(tz=ZoneInfo("America/Santiago"))-inicio).total_seconds())) + log.info('Traceback {}'.format(traceback.format_exc())) + raise(e) except: import traceback log.error("Failed to fetch GTFS-RT Record {} in {}s".format(inicio.strftime("%Y%m%d_%H%M_%S"), (datetime.now(tz=ZoneInfo("America/Santiago"))-inicio).total_seconds()))