from stat import S_ISREG import time import pickle from serenitas.utils.remote import SftpClient from citco_ops.utils import CitcoSubmission from paramiko.ssh_exception import SSHException def run(): sftp = CitcoSubmission.init_sftp() while True: try: for f in sftp.client.listdir_iter(): if S_ISREG(f.st_mode): CitcoSubmission.process(f.filename) CitcoSubmission.check_cache() CitcoSubmission.commit() except (SSHException, OSError): sftp.client.close() sftp = CitcoSubmission.init_sftp() time.sleep(60) if __name__ == "__main__": run()