def purge_rt_update(self, config): func_name = "purge_rt_update" connector = config["connector"] logger = logging.LoggerAdapter(logging.getLogger(__name__), extra={"connector": connector}) logger.debug("purge realtime update for %s", connector) lock_name = make_kirin_lock_name(func_name, connector) with get_lock(logger, lock_name, app.config[str("REDIS_LOCK_TIMEOUT_PURGE")]) as locked: if not locked: logger.warning("%s for %s is already in progress", func_name, connector) return until = datetime.date.today() - datetime.timedelta( days=int(config["nb_days_to_keep"])) logger.info("purge realtime update for {} until {}".format( connector, until)) # TODO: we want to purge on "contributor" later, not "connector". RealTimeUpdate.remove_by_connectors_until(connectors=[connector], until=until) logger.info("%s for %s is finished", func_name, connector)
def purge_rt(nb_day_to_keep, connector): """ purge table real_time_update and associate_realtimeupdate_tripupdate for given connector with nb_day_to_keep of history """ logger = logging.getLogger(__name__) until = datetime.date.today() - datetime.timedelta(days=int(nb_day_to_keep)) logger.info("purge table real_time_update for %s until %s", connector, until) RealTimeUpdate.remove_by_connectors_until(connectors=[connector], until=until) db.session.commit()