Spaces:
Runtime error
Runtime error
from apscheduler.schedulers.background import BackgroundScheduler | |
from huggingface_hub import HfApi | |
from huggingface_hub.utils import RepositoryNotFoundError | |
class RestartScheduler: | |
def __init__(self, space_id: str, interval_minutes: int, hf_token: str | None): | |
api = HfApi(token=hf_token) | |
if api.get_token_permission() != "write": | |
raise ValueError("The HF token must have write permission.") | |
try: | |
api.space_info(repo_id=space_id) | |
except RepositoryNotFoundError: | |
raise ValueError("The Space ID does not exist.") | |
if interval_minutes <= 0: | |
raise ValueError("The interval must be positive.") | |
self.scheduler = BackgroundScheduler() | |
self.scheduler.add_job( | |
func=lambda: api.restart_space(space_id), trigger="interval", seconds=60 * interval_minutes | |
) | |
def start(self): | |
self.scheduler.start() | |