rabbitmq implemented and tested

This commit is contained in:
2025-08-17 21:14:46 +03:00
parent 9543d136aa
commit 61529f7d94
43 changed files with 5433 additions and 315 deletions

View File

@@ -37,14 +37,14 @@ def initialize_service():
# Create singleton instances directly
logger.info("Creating Redis handler singleton")
redis_handler = MailReaderService()
logger.info("Creating EmailReaderService")
email_service = EmailReaderService(IsBankConfig())
# Initialize email service and connect
logger.info("Connecting to email service")
email_service.login_and_connect()
# Create email service runner with the singletons
logger.info("Creating EmailServiceRunner")
runner = EmailServiceRunner(redis_handler=redis_handler, email_service=email_service)
@@ -66,14 +66,12 @@ def initialize_service():
if __name__ == "__main__":
logger.info("Starting IsBank Email Service")
print(f"Starting Service Mail Reader.")
runner = initialize_service()
normal_sleep_time = 10
error_sleep_time = 30
max_consecutive_errors = 5
extended_error_sleep = 120
consecutive_errors = 0
consecutive_errors, normal_sleep_time, error_sleep_time = 0, 10, 30
max_consecutive_errors, extended_error_sleep = 5, 120
while True:
try:
@@ -96,6 +94,7 @@ if __name__ == "__main__":
sleep(extended_error_sleep)
else:
sleep(error_sleep_time)
except socket.error as e:
consecutive_errors += 1
logger.error(f"Email connection error (attempt {consecutive_errors}): {str(e)}")
@@ -108,12 +107,13 @@ if __name__ == "__main__":
logger.info("Successfully re-established email connection")
except Exception as email_retry_error:
logger.error(f"Failed to re-establish email connection: {str(email_retry_error)}")
if consecutive_errors >= max_consecutive_errors:
logger.warning(f"Hit {max_consecutive_errors} consecutive email errors, taking longer pause")
sleep(extended_error_sleep)
else:
sleep(error_sleep_time)
except Exception as e:
consecutive_errors += 1
logger.error(f"Unexpected error (attempt {consecutive_errors}): {str(e)}")