#!/usr/bin/env python3 """ Production server wrapper for Visual AI QC Runs the Flask application using Waitress WSGI server """ import argparse import sys import os from waitress import serve # Add current directory to Python path sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) # Import the Flask app from api_server import app def main(): parser = argparse.ArgumentParser(description='Run Visual AI QC API Server') parser.add_argument('--host', default='localhost', help='Host to bind to') parser.add_argument('--port', type=int, default=7183, help='Port to bind to') parser.add_argument('--workers', type=int, default=2, help='Number of worker threads') args = parser.parse_args() print(f"Starting Visual AI QC server on {args.host}:{args.port}") print(f"Worker threads: {args.workers}") print(f"Working directory: {os.getcwd()}") # Use Waitress WSGI server (production-ready) serve( app, host=args.host, port=args.port, threads=args.workers, url_scheme='http' ) if __name__ == '__main__': main()