MediaProcessing/apps/pyMetadata/app.py
2026-01-02 01:09:26 +01:00

35 lines
991 B
Python

import signal
import sys
from config.database_config import DatabaseConfig
from db.database import Database
from utils.logger import logger
from worker.poller import run_worker
# global flag for shutdown
shutdown_flag = False
def handle_shutdown(signum, frame):
global shutdown_flag
logger.info("🛑 Shutdown signal mottatt, avslutter worker...")
shutdown_flag = True
def main():
# registrer signal handlers for graceful shutdown
signal.signal(signal.SIGINT, handle_shutdown)
signal.signal(signal.SIGTERM, handle_shutdown)
logger.info("🚀 Starter worker-applikasjon")
try:
config: DatabaseConfig = DatabaseConfig.from_env()
db: Database = Database(config)
db.connect()
run_worker(db=db, shutdown_flag_ref=lambda: shutdown_flag)
except Exception as e:
logger.error(f"❌ Kritisk feil i app: {e}")
sys.exit(1)
logger.info("👋 Worker avsluttet gracefully")
if __name__ == "__main__":
main()