rabbitmq implemented and tested
This commit is contained in:
@@ -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)}")
|
||||
|
||||
Reference in New Issue
Block a user