#!/usr/bin/env python3 """ Main entry point for unified email worker """ import sys import signal from logger import log from config import config from unified_worker import UnifiedWorker from health_server import start_health_server from metrics.prometheus import start_metrics_server def main(): """Main entry point""" # Create worker instance worker = UnifiedWorker() # Signal handlers for graceful shutdown def signal_handler(signum, frame): log(f"Received signal {signum}") worker.stop() sys.exit(0) signal.signal(signal.SIGTERM, signal_handler) signal.signal(signal.SIGINT, signal_handler) # Fixed: was signalIGINT in old version # Setup worker worker.setup() # Start metrics server (if available) metrics = start_metrics_server(config.metrics_port) if metrics: worker.set_metrics(metrics) # Start health check server start_health_server(worker, worker.dynamodb.available) # Print startup banner worker.print_startup_banner() # Start worker worker.start() if __name__ == '__main__': main()