from updater.model.feed import db, Registros, Vehiculo, Viaje, Entidades, Posicion import utils.gtfs_realtime_pb2 from time import strftime from datetime import datetime, timedelta from zoneinfo import ZoneInfo import logging import json import time import sys import os log = logging.getLogger('updater') log.setLevel(logging.DEBUG) handler = logging.StreamHandler(sys.stdout) handler.setLevel(logging.INFO) formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) log.addHandler(handler) try: estado_maximo = int(os.environ.get('GTFS_RT_FEED_MAXSTATUS')) except: log.warning("failed to load GTFS_RT_FEED_MAXSTATUS enviroment variable, setting default value") estado_maximo = 0 try: antiguedad_minima = int(os.environ.get('GTFS_RT_MIN_DELAY')) except: log.warning("failed to load GTFS_RT_MIN_DELAY enviroment variable, setting default value") antiguedad_minima = 0 def sync_db(): inicio = datetime.now(tz=ZoneInfo("America/Santiago")) ultima_modificacion = inicio - timedelta(0,antiguedad_minima) registrodb = db.query(Registros).filter(Registros.status<=estado_maximo, Registros.timestamp