import argparse import subprocess import sys def main(): parser = argparse.ArgumentParser(description="Run the backend server") parser.add_argument("--host", default="0.0.0.0") parser.add_argument("--port", type=int, default=7860) parser.add_argument("--workers", type=int, default=2) parser.add_argument("--reload", action="store_true", default=True) args = parser.parse_args() cmd = [ sys.executable, "-m", "gunicorn", "src.app:app", "-k", "uvicorn.workers.UvicornWorker", "-w", str(args.workers), "-b", f"{args.host}:{args.port}", "--timeout", "600", "--keep-alive", "120", ] if args.reload: cmd.append("--reload") print(f"Starting server on {args.host}:{args.port} with {args.workers} workers") subprocess.run(cmd) if __name__ == "__main__": main()