jamtur01's picture
Upload folder using huggingface_hub
9c6594c verified
"""Backend - Send to internal process.
Manage backend.
"""
import logging
from typing import TYPE_CHECKING, Optional
from wandb.sdk.interface.interface import InterfaceBase
from wandb.sdk.wandb_settings import Settings
if TYPE_CHECKING:
from wandb.sdk.lib import service_connection
logger = logging.getLogger("wandb")
class Backend:
interface: Optional[InterfaceBase]
_settings: Settings
_done: bool
_service: Optional["service_connection.ServiceConnection"]
def __init__(
self,
settings: Settings,
service: Optional["service_connection.ServiceConnection"] = None,
) -> None:
self._done = False
self.interface = None
self._settings = settings
self._service = service
def ensure_launched(self) -> None:
"""Launch backend worker if not running."""
assert self._settings.run_id
assert self._service
self.interface = self._service.make_interface(
stream_id=self._settings.run_id,
)
def server_status(self) -> None:
"""Report server status."""
def cleanup(self) -> None:
# TODO: make _done atomic
if self._done:
return
self._done = True
if self.interface:
self.interface.join()