sistema_web/carga-gtfs/service.py

50 lines
996 B
Python
Raw Permalink Normal View History

2023-02-27 16:21:22 -03:00
import time
from daemon import log
from daemon.models.gtfs_work import session as dbhot
from daemon.models.gtfs_static import session as dbstatic
if not os.environ.get('HEARTBEAT'):
hb = 60 * 15 # 15 minutos
else:
hb = int(os.environ.get('HEARTBEAT'))
def main_loop(shouldIrun):
log.info("Iniciando el loop principal")
doki=int(time.time()) + hb
while shouldIrun:
if check_for_work():
ingest_waiting_gtfs()
time.sleep(1)
i = int(time.time())
if i >= doki:
doki = i + hb
log.info('Heartbeat')
def check_for_work():
result = dbstatic.query(sArchivosGTFS).filter(sArchivosGTFS.loaded==0).first()
if result is not None:
return True
return False
def ingest_waiting_gtfs():
pass
def load_dataset(nombrearchivo):
import zipfile
import tempfile
with tempfile.TemporaryDirectory() as tmpdirname:
with zipfile.ZipFile(nombrearchivo, 'r') as zip_ref:
zip_ref.extractall(tmpdirname)