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() | |