Files
Flamenco-Management/.specstory/history/2025-07-15_18-30Z-configure-launch-standard-worker-for-flamenco-3-7.md
2025-07-15 12:38:32 -06:00

4.8 KiB

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:

# 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:
      manager: http://localhost:8888/
      
    • Change it to:
      manager: http://i9kf:8888/
      
      or whatever the