#!/usr/bin/env python3 import sentry_sdk import time import os import logging from redis_super_storage import RedisSuperStorage from communicators import ConsumerCommunicator, ProducerCommunicator """ Scheduler """ __author__ = "@kocsisr" __copyright__ = "Copyright 2020, GoldenPogácsa Team" __module_name__ = "app" __version__text__ = "1" sentry_sdk.init("https://0a106e104e114bc9a3fa47f9cb0db2f4@sentry.kmlabz.com/10") def get_initial_ip_list(): ip_list = os.environ['INITIAL_SERVERS'].split(',') logging.debug('Initial ip list' + ", ".join(ip_list)) return ip_list def main(): # set logging preferences logging.basicConfig(filename='', level=logging.DEBUG) redis_storage = RedisSuperStorage(os.environ.get('REDIS_URL', "redis://localhost:6379/0"), 5) consumer_communicator = ConsumerCommunicator(redis_storage) producer_communicator = ProducerCommunicator(redis_storage) for ip in get_initial_ip_list(): consumer_communicator.targeted_snyc(ip) while True: logging.debug("Doing a sync") consumer_communicator.sync_all() time.sleep(os.environ.get("RUN_INTERVAL", 30)) if __name__ == "__main__": try: main() except KeyboardInterrupt: pass