moved
This commit is contained in:
50
email-worker/main.py
Normal file
50
email-worker/main.py
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/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()
|
||||
Reference in New Issue
Block a user