aboutsummaryrefslogtreecommitdiffstats
path: root/python
diff options
context:
space:
mode:
Diffstat (limited to 'python')
-rw-r--r--python/citco_submission.py31
1 files changed, 16 insertions, 15 deletions
diff --git a/python/citco_submission.py b/python/citco_submission.py
index 6ded8224..629d0626 100644
--- a/python/citco_submission.py
+++ b/python/citco_submission.py
@@ -8,13 +8,15 @@ from report_ops.status import CitcoSubmission
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
+fund_sftp = {"ISOSEL": ("citco", "/outgoing/notifications")}
-def close_and_reconnect():
+
+def close_and_reconnect(creds, folder):
retries = 5
for i in range(retries):
try:
CitcoSubmission._client.client.close()
- CitcoSubmission.init_client("citco", folder="/outgoing/notifications")
+ CitcoSubmission.init_client(creds, folder=folder)
except (SSHException, OSError) as e:
if i == retries - 1:
raise e
@@ -25,20 +27,19 @@ def close_and_reconnect():
def run():
- CitcoSubmission.init_client("citco", folder="/outgoing/notifications")
while True:
- try:
- for f in CitcoSubmission._client.client.listdir_iter(
- "/outgoing/notifications"
- ):
- if S_ISREG(f.st_mode):
- try:
- CitcoSubmission.process(f.filename)
- except ValueError as e:
- logger.info(e)
- except (SSHException, OSError) as e:
- logger.info(e)
- close_and_reconnect()
+ for fund, (creds, folder) in fund_sftp.items():
+ CitcoSubmission.init_client(creds, folder=folder)
+ try:
+ for f in CitcoSubmission._client.client.listdir_iter(folder):
+ if S_ISREG(f.st_mode):
+ try:
+ CitcoSubmission.process(f.filename)
+ except ValueError as e:
+ logger.info(f"{fund}: {e}")
+ except (SSHException, OSError) as e:
+ logger.info(e)
+ close_and_reconnect(creds, folder)
time.sleep(60)
CitcoSubmission.check_cache()