Files

40 lines
1004 B
Python

import sys
import time
import logging
from pathlib import Path
# Add backend directory to path
backend_path = Path(__file__).resolve().parent.parent
sys.path.append(str(backend_path))
from app.config.database import SessionLocal
from app.services.auth.event_service import EventService
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("event_worker")
def run_worker():
logger.info("Starting Event Worker (Outbox Processor)...")
while True:
try:
db = SessionLocal()
try:
# Process events
EventService.process_outbox(db)
finally:
db.close()
# Sleep to avoid busy loop
time.sleep(5)
except KeyboardInterrupt:
logger.info("Stopping worker...")
break
except Exception as e:
logger.error(f"Worker crash: {e}")
time.sleep(5)
if __name__ == "__main__":
run_worker()