Files
aitbc/apps/marketplace/scripts/gpu_marketplace_launcher.py
aitbc 4a649ac631 Migrate marketplace app to centralized aitbc package utilities
- Migrate 3 files from logging to aitbc.get_logger
- scripts/real_marketplace_launcher.py, scripts/marketplace.py, scripts/gpu_marketplace_launcher.py
- Remove logging.basicConfig() from all files
2026-04-25 07:12:42 +02:00

75 lines
2.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""
GPU Marketplace Launcher for AITBC Production
"""
import os
import sys
import subprocess
from pathlib import Path
from aitbc import get_logger
logger = get_logger(__name__)
def main():
"""Main GPU marketplace launcher function"""
logger.info("Starting AITBC GPU Marketplace Launcher")
try:
# Set environment variables
os.environ.setdefault('PYTHONPATH', '/opt/aitbc/apps/marketplace/scripts:/opt/aitbc/apps/marketplace/src:/opt/aitbc/apps/coordinator-api/src')
# Try to run the GPU marketplace service
logger.info("Launching GPU marketplace service")
# Check if the main marketplace service exists
marketplace_path = '/opt/aitbc/apps/marketplace/scripts/marketplace.py'
if os.path.exists(marketplace_path):
logger.info("Found marketplace service, launching...")
subprocess.run([
'/opt/aitbc/venv/bin/python',
marketplace_path
], check=True)
else:
logger.error(f"Marketplace service not found at {marketplace_path}")
# Fallback to simple service
fallback_service()
except subprocess.CalledProcessError as e:
logger.error(f"GPU marketplace service failed with exit code {e.returncode}: {e}")
logger.info("Starting fallback GPU marketplace service")
fallback_service()
except (FileNotFoundError, PermissionError) as e:
logger.error(f"Cannot launch GPU marketplace service: {type(e).__name__}: {e}")
logger.info("Starting fallback GPU marketplace service")
fallback_service()
except Exception as e:
logger.error(f"Unexpected error launching GPU marketplace: {type(e).__name__}: {e}")
logger.info("Starting fallback GPU marketplace service")
fallback_service()
def fallback_service():
"""Fallback GPU marketplace service"""
logger.info("Starting fallback GPU marketplace service")
try:
# Simple GPU marketplace heartbeat
import time
while True:
logger.info("GPU Marketplace service heartbeat - active")
time.sleep(30)
except KeyboardInterrupt:
logger.info("GPU Marketplace service stopped by user")
except (OSError, IOError) as e:
logger.error(f"System error in fallback service: {type(e).__name__}: {e}")
time.sleep(5)
except Exception as e:
logger.error(f"Unexpected error in fallback service: {type(e).__name__}: {e}")
time.sleep(5)
if __name__ == "__main__":
main()