diff --git a/configuration/config.yaml b/configuration/config.yaml index f9f1351..b50ef98 100644 --- a/configuration/config.yaml +++ b/configuration/config.yaml @@ -7,5 +7,5 @@ ispindel: serverAdress: "http://www.littlebock.fr" name: "ispindel" synchronisation: - interval: "15m" - timeout: "90d" + intervalMinutes: 30 + timeoutDays: 90 diff --git a/main.py b/main.py index 8aa7150..ddf8745 100644 --- a/main.py +++ b/main.py @@ -1,28 +1,34 @@ import logging +import time +from datetime import timedelta +import schedule import hose logging.basicConfig(filename='transfer-hose.log', level=logging.INFO) logger = logging.getLogger(__name__) +def job(config): + """Default behaviour : retrive metrics from Prometheus and send them to Littlebock""" + data_to_send = { + "temperature" : hose.get_metric_value(config=config, metric_name="temperature"), + "gravity" : hose.get_metric_value(config=config, metric_name="gravity"), + "battery" : hose.get_metric_value(config=config, metric_name="battery") + } + hose.send_data_to_littlebock(config=config, data=data_to_send) + def main(): - """Retrieve data from Prometheus server and send it ot Littlebock""" + """Retrieve data from Prometheus server and send it to Littlebock periodicaly""" logger.info('Transfer-Hose started !') file = 'configuration/config.yaml' config = hose.read_yaml(file) if config: logger.info("Loaded configuration : %s", config) - # TODO stuff - data_to_send = { - "temperature" : hose.get_metric_value(config=config, metric_name="temperature"), - "gravity" : hose.get_metric_value(config=config, metric_name="gravity"), - "battery" : hose.get_metric_value(config=config, metric_name="battery") - } - hose.send_data_to_littlebock(config=config, data=data_to_send) - - logger.info('Transfer-Hose exited !') + schedule.every(config['ispindel']['synchronisation']['intervalMinutes']).minutes.until(timedelta(days=config['ispindel']['synchronisation']['timeoutDays'])).do(job, config=config) + while True: + schedule.run_pending() + time.sleep(1) if __name__ == "__main__": - main()