Source code for simstack.models.runner_model

from datetime import datetime
from enum import Enum
from typing import Optional, List

from odmantic import Model, ObjectId, Field
from pydantic import ConfigDict

from simstack.models.parameters import Resource


[docs] class RunnerEventEnum(str, Enum): SHUTDOWN = "shutdown" RUNNER_STARTED = "runner_started" NODE_STARTED = "node_started" NODE_SUBMIT = "node_submit" ALIVE = "alive" RESTART = "restart" CRONTAB_OK = "crontab_ok" CRONTAB_GONE = "crontab_gone"
[docs] class RunnerType(str, Enum): NODE_RUNNER = "node_runner" RESOURCE_RUNNER = "resource_runner"
[docs] class RunnerEvent(Model): model_config = ConfigDict(arbitrary_types_allowed=True) timestamp: datetime = Field(default_factory=datetime.now) event: RunnerEventEnum resource: Resource runner_type: RunnerType hostname: Optional[str] = None user: Optional[str] = None pid: Optional[int] = None node_id: Optional[ObjectId] = None message: Optional[str] = None git_status: List[str] = Field(default_factory=list)