diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/citco_ops/utils.py | 10 | ||||
| -rw-r--r-- | python/citco_submission.py | 9 |
2 files changed, 13 insertions, 6 deletions
diff --git a/python/citco_ops/utils.py b/python/citco_ops/utils.py index 41450a36..450b2204 100644 --- a/python/citco_ops/utils.py +++ b/python/citco_ops/utils.py @@ -168,9 +168,17 @@ class CitcoSubmission(Deal, deal_type=None, table_name="citco_submission"): return html @classmethod - def _init_sftp(cls): + def init_sftp(cls): return SftpClient.from_creds("citco", folder="/outgoing/notifications") + @classmethod + def check_cache(cls): + if cls.process.cache_info().currsize == cls.process.cache_info().maxsize: + if (cls.process.cache_info().misses / cls.process.cache_info().hits) > 0.5: + raise ValueError( + "Too many files in the SFTP compared to cache max size" + ) + _recipients = { "ISOSEL": ( diff --git a/python/citco_submission.py b/python/citco_submission.py index f707e42a..2495c746 100644 --- a/python/citco_submission.py +++ b/python/citco_submission.py @@ -7,19 +7,18 @@ from paramiko.ssh_exception import SSHException def run(): - sftp = CitcoSubmission._init_sftp() + sftp = CitcoSubmission.init_sftp() while True: try: for f in sftp.client.listdir_iter(): if S_ISREG(f.st_mode): - print(f) CitcoSubmission.process(f.filename) - print(f) - print(CitcoSubmission.process.cache_info()) + CitcoSubmission.check_cache() + CitcoSubmission.commit() except (SSHException, OSError): sftp.client.close() - sftp = CitcoSubmission._init_sftp() + sftp = CitcoSubmission.init_sftp() time.sleep(60) |
