aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/citco_ops/utils.py10
-rw-r--r--python/citco_submission.py9
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)