from stat import S_ISREG import time from citco_ops.utils import CitcoSubmission from paramiko.ssh_exception import SSHException import logging def run(): CitcoSubmission.init_sftp() while True: try: for f in CitcoSubmission._sftp.client.listdir_iter(): if S_ISREG(f.st_mode): try: CitcoSubmission.process(f.filename) except ValueError as e: logging.error(e) continue CitcoSubmission.commit() except (SSHException, OSError): CitcoSubmission._sftp.client.close() CitcoSubmission.init_sftp() time.sleep(60) CitcoSubmission.check_cache() if __name__ == "__main__": run()