eleftherias's picture
Restart eval backend when model is submitted
0e6522f
raw
history blame
1.2 kB
import logging
from huggingface_hub import HfApi
from app.config.base import HF_TOKEN
logger = logging.getLogger(__name__)
ACTIVE_SPACE_STATES = ["APP_STARTING", "RUNNING", "BUILDING", "RUNNING_APP_STARTING"]
class SpaceController:
def __init__(self):
self.token = HF_TOKEN
self.api = HfApi(token=self.token)
def get_space_status(self, space_id):
"""Get the current status of a space"""
try:
space_info = self.api.space_info(repo_id=space_id)
return space_info.runtime.stage
except Exception as e:
logger.error(f"Error getting space status: {e}")
return None
def start_space(self, space_id):
"""Start a paused space"""
try:
current_status = self.get_space_status(space_id)
if current_status in ACTIVE_SPACE_STATES:
logger.info(f"Space {space_id} is already active with status: {current_status}")
else:
logger.info(f"Starting space {space_id}...")
self.api.restart_space(repo_id=space_id)
except Exception as e:
logger.error(f"Error starting space: {e}")
raise