simstack.core.services package¶
Submodules¶
simstack.core.services.base_service module¶
- class simstack.core.services.base_service.BaseService(name: str, resource: Resource, interval: int, shutdown_event: Event = None)[source]¶
Bases:
ABCA managed periodic service that can be stopped gracefully
- async write_node_event(event: RunnerEventEnum, node_id: ObjectId, message: str = None)[source]¶
- async write_resource_event(event: RunnerEventEnum, message: str = None)[source]¶
- class simstack.core.services.base_service.RestartService(name: str, resource: Resource, interval: int)[source]¶
Bases:
BaseService,ABCIntermediate abstract class for services that can trigger a runner restart.
simstack.core.services.file_transfer_service module¶
- class simstack.core.services.file_transfer_service.FileTransferService(resource: Resource, interval: int = 10, max_concurrent: int = 2, shutdown_event: Event | None = None)[source]¶
Bases:
BaseServicePoll the SimStack server for hidden file transfer uploads assigned to this runner.
simstack.core.services.git_restart_service module¶
simstack.core.services.git_uv_update_service module¶
- class simstack.core.services.git_uv_update_service.GitUvUpdateService(resource: Resource, interval)[source]¶
Bases:
RestartServiceAdvanced service that performs git pull and uv lock upgrades. If changes are detected, it restarts the runner.
simstack.core.services.node_execution_service module¶
- class simstack.core.services.node_execution_service.NodeExecutionService(resource: Resource, interval: int, max_concurrent: int, shutdown_event: Event | None, detach: bool = True, is_default: bool = False)[source]¶
Bases:
BaseService- async run_node(registry_entry: NodeRegistry) bool[source]¶
Run a single node by its ID from the database
- async simstack.core.services.node_execution_service.run_node_from_registry(registry_entry: NodeRegistry) bool[source]¶
simstack.core.services.resource_branch_monitor_service module¶
- class simstack.core.services.resource_branch_monitor_service.ResourceBranchMonitorService(resource: Resource, interval: int)[source]¶
Bases:
RestartServiceMonitors the ResourceDefinition for the current resource. If the git_branch field changes, it stashes, switches branch, syncs, and restarts.
simstack.core.services.runner_cleanup_service module¶
simstack.core.services.runner_manager module¶
- class simstack.core.services.runner_manager.RunnerManager(resource: Resource, detach: bool = True, no_pull: bool = False, is_default: bool = False, with_file_transfer: bool = True)[source]¶
Bases:
object