feat: add seat firmware workbench and OTA delivery
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
$repositoryRoot = Split-Path -Parent $PSScriptRoot
|
||||
$venvPython = Join-Path $repositoryRoot ".venv\Scripts\python.exe"
|
||||
$logRoot = Join-Path $repositoryRoot "artifacts\logs"
|
||||
$logPath = Join-Path $logRoot "n7web-autostart.log"
|
||||
|
||||
if (-not (Test-Path -LiteralPath $venvPython -PathType Leaf)) {
|
||||
throw "N7Web Python executable not found: $venvPython"
|
||||
}
|
||||
|
||||
New-Item -ItemType Directory -Path $logRoot -Force | Out-Null
|
||||
$python = (& $venvPython -c "import sys; print(sys._base_executable)").Trim()
|
||||
if ($LASTEXITCODE -ne 0 -or -not (Test-Path -LiteralPath $python -PathType Leaf)) {
|
||||
throw "N7Web base Python executable could not be resolved."
|
||||
}
|
||||
$env:PYTHONPATH = @(
|
||||
(Join-Path $repositoryRoot "src")
|
||||
(Join-Path $repositoryRoot "domains\seat\src")
|
||||
) -join [System.IO.Path]::PathSeparator
|
||||
|
||||
while ($true) {
|
||||
& $python -m cognitive_agent.firmware_ota_server --host 127.0.0.1 --port 8012 *>> $logPath
|
||||
$exitCode = $LASTEXITCODE
|
||||
$timestamp = Get-Date -Format "yyyy-MM-ddTHH:mm:ssK"
|
||||
Add-Content -LiteralPath $logPath -Value (
|
||||
"[$timestamp] OTA service exited with code $exitCode; restarting in 2 seconds."
|
||||
)
|
||||
Start-Sleep -Seconds 2
|
||||
}
|
||||
Reference in New Issue
Block a user