upgraded to Flamenco 3.7

This commit is contained in:
2025-07-15 12:38:32 -06:00
parent 98f760cbc1
commit a1d3a60549
2 changed files with 123 additions and 18 deletions

View File

@@ -0,0 +1,110 @@
<!-- Generated by SpecStory -->
# Configure Launch Standard Worker for Flamenco 3.7 (2025-07-15 18:30Z)
_**User**_
@2025-05-12_16-04Z-technical-scripting-and-troubleshooting-discussion.md @2025-05-13_23-13Z-bypassing-password-prompts-in-script.md @2025-06-03_00-04Z-change-retry-function-to-infinite-retries.md @2025-05-14_15-49Z-cmd-worker-error-handling-and-retry-logic.md @2025-05-23_23-12Z-replace-remotecmd-with-remotesimplified.md I'm upgrading from Flamenco 3.6 to 3.7. CMD workers are working fine because they're directed to F:\software\Flamenco 3.7, and i9kf is working fine because I've installed flamenco 3.7 to that local path. Can we have Launch Standard Worker run the worker executable in F:\software\Flamenco 3.7 ?
---
_**Assistant**_
Yes, you can have the "Launch Standard Worker" option run the worker executable from `F:\software\Flamenco 3.7` for all systems, just like the CMD workers. Currently, the `Get-RemoteStandardWorkerCommand` function is set up to run the worker from `C:\Program Files\Blender Foundation\Flamenco 3.7` if it exists, but you want it to always use `F:\software\Flamenco 3.7\flamenco-worker.exe`.
**Here's what you need to do:**
- Update the `Get-RemoteStandardWorkerCommand` function so that it always sets the location to `F:\software\Flamenco 3.7` and runs `flamenco-worker.exe` from there, regardless of whether the directory exists in `C:\Program Files\...`.
---
**How to update:**
Replace the entire worker start block in `Get-RemoteStandardWorkerCommand` with the following:
```powershell
# Start worker
Write-Host "Starting Flamenco worker..." -ForegroundColor Cyan
Set-Location 'F:\software\Flamenco 3.7'
if (Test-Path 'flamenco-worker.exe') {
Write-Host "Running flamenco-worker.exe..." -ForegroundColor Green
# Run the worker and capture its exit code
$workerProcess = Start-Process -FilePath '.\flamenco-worker.exe' -NoNewWindow -PassThru -Wait
$exitCode = $workerProcess.ExitCode
Write-Host "Flamenco worker process has terminated with exit code: $exitCode" -ForegroundColor Yellow
exit $exitCode # Exit with the worker's exit code to trigger restart if needed
} else {
Write-Host "Error: flamenco-worker.exe not found in F:\software\Flamenco 3.7" -ForegroundColor Red
exit 1 # Exit with error code to trigger restart
}
```
**Remove** the check for `C:\Program Files\Blender Foundation\Flamenco 3.7` entirely.
---
**Result:**
- All "Standard Worker" launches will use the 3.7 executable from `F:\software\Flamenco 3.7`, just like your CMD workers.
- This will ensure consistency across all your worker launches.
Would you like me to make this edit for you now?
---
_**User**_
each worker except for i9kf is printing:
2025-07-15T12:36:06-06:00 WRN unable to send sign-on request error="Post \"http://localhost:8888/api/v3/worker/sign-on\": dial tcp [::1]:8888: connectex: No connection could be made because the target machine actively refused it." manager=http://localhost:8888/
---
_**Assistant**_
The warning message:
```
WRN unable to send sign-on request error="Post \"http://localhost:8888/api/v3/worker/sign-on\": dial tcp [::1]:8888: connectex: No connection could be made because the target machine actively refused it." manager=http://localhost:8888/
```
means that the Flamenco worker is trying to connect to a Flamenco Manager at `http://localhost:8888/`, but nothing is listening on that port on the remote machine. This is a **network/configuration issue**, not a script or launcher bug.
### Why does this happen?
- **Each worker runs on its own machine.**
- By default, the worker tries to connect to a manager at `localhost:8888` (i.e., itself).
- Unless the Flamenco Manager is running on that same machine and on that port, the connection will fail.
### Why does i9kf work?
- On i9kf, you probably have the Flamenco Manager running locally, or the worker's config points to the correct manager address.
### Why do the others fail?
- On the other machines, the worker is trying to connect to `localhost:8888`, but the manager is not running there (or not on that port).
---
## How to Fix
You need to make sure that **each worker's configuration file** (`flamenco-worker.yaml`) points to the correct Flamenco Manager address (the actual host/IP where the manager is running, not `localhost`).
### Steps:
1. **Find the manager's real address.**
- If the manager is running on i9kf, use its network name or IP, e.g., `http://i9kf:8888/` or `http://192.168.1.100:8888/`.
2. **Update the worker config on each machine:**
- Open `flamenco-worker.yaml` (location is shown in the worker's startup log, e.g., `C:\Users\Nathan\AppData\Local\Blender Foundation\Flamenco\worker-2\flamenco-worker.yaml`).
- Find the line like:
```yaml
manager: http://localhost:8888/
```
- Change it to:
```yaml
manager: http://i9kf:8888/
```
or whatever the
---

View File

@@ -109,8 +109,7 @@ net use
# Start worker # Start worker
Write-Host "Starting Flamenco worker..." -ForegroundColor Cyan Write-Host "Starting Flamenco worker..." -ForegroundColor Cyan
if (Test-Path 'C:\Program Files\Blender Foundation\Flamenco 3.6') { Set-Location 'F:\software\Flamenco 3.7'
Set-Location 'C:\Program Files\Blender Foundation\Flamenco 3.6'
if (Test-Path 'flamenco-worker.exe') { if (Test-Path 'flamenco-worker.exe') {
Write-Host "Running flamenco-worker.exe..." -ForegroundColor Green Write-Host "Running flamenco-worker.exe..." -ForegroundColor Green
# Run the worker and capture its exit code # Run the worker and capture its exit code
@@ -119,11 +118,7 @@ if (Test-Path 'C:\Program Files\Blender Foundation\Flamenco 3.6') {
Write-Host "Flamenco worker process has terminated with exit code: $exitCode" -ForegroundColor Yellow Write-Host "Flamenco worker process has terminated with exit code: $exitCode" -ForegroundColor Yellow
exit $exitCode # Exit with the worker's exit code to trigger restart if needed exit $exitCode # Exit with the worker's exit code to trigger restart if needed
} else { } else {
Write-Host "Error: flamenco-worker.exe not found" -ForegroundColor Red Write-Host "Error: flamenco-worker.exe not found in F:\software\Flamenco 3.7" -ForegroundColor Red
exit 1 # Exit with error code to trigger restart
}
} else {
Write-Host "Error: Flamenco directory not found" -ForegroundColor Red
exit 1 # Exit with error code to trigger restart exit 1 # Exit with error code to trigger restart
} }
'@ '@
@@ -172,13 +167,13 @@ net use
# Start worker via CMD - hardcoded paths # Start worker via CMD - hardcoded paths
Write-Host "Running command file..." -ForegroundColor Cyan Write-Host "Running command file..." -ForegroundColor Cyan
$defaultCmdPath = "F:\software\Flamenco 3.6\run-flamenco-worker.cmd" $defaultCmdPath = "F:\software\Flamenco 3.7\run-flamenco-worker.cmd"
if (Test-Path $defaultCmdPath) { if (Test-Path $defaultCmdPath) {
Set-Location "F:\software\Flamenco 3.6" Set-Location "F:\software\Flamenco 3.7"
Write-Host "Starting worker..." -ForegroundColor Green Write-Host "Starting worker..." -ForegroundColor Green
# Use hardcoded path to avoid variable expansion issues # Use hardcoded path to avoid variable expansion issues
cmd.exe /c "F:\software\Flamenco 3.6\run-flamenco-worker.cmd" cmd.exe /c "F:\software\Flamenco 3.7\run-flamenco-worker.cmd"
Write-Host "Worker process has terminated." -ForegroundColor Yellow Write-Host "Worker process has terminated." -ForegroundColor Yellow
} else { } else {
Write-Host "Command file not found at default location." -ForegroundColor Red Write-Host "Command file not found at default location." -ForegroundColor Red
@@ -241,7 +236,7 @@ net use
# Simple direct command execution with automatic "2" input # Simple direct command execution with automatic "2" input
Write-Host "Running Flamenco worker..." -ForegroundColor Cyan Write-Host "Running Flamenco worker..." -ForegroundColor Cyan
Set-Location -Path "F:\software\Flamenco` 3.6" Set-Location -Path "F:\software\Flamenco 3.7"
if (Test-Path -Path "run-flamenco-worker.cmd") { if (Test-Path -Path "run-flamenco-worker.cmd") {
# Create a temporary file to store the "2" input # Create a temporary file to store the "2" input
$tempInputFile = [System.IO.Path]::GetTempFileName() $tempInputFile = [System.IO.Path]::GetTempFileName()