Files
app/worker
stroblmeandClaude Opus 5 cfb3941cf3 Give a node's fluksio module the logger the SDK exports
Inside a worker `import fluksio` is the reporter, which had emit and the
artifact calls but no logger — so `fluksio.logger.info(...)`, written
against the SDK's top-level export, died with AttributeError after the
training it was reporting on had already succeeded. Its records go to the
same capture a print does; the handler resolves sys.stderr per record
because a call runs under redirect_stderr.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Hra4ndWMCLU5F3KjUuVAc
2026-08-29 13:49:25 +02:00
..
2026-08-28 11:01:25 +02:00

fluksio-worker

Runs Fluksio nodes on a machine the engine cannot reach — a GPU box, a cluster node, anything behind a NAT. It dials out to the engine over one authenticated websocket, so nothing has to be exposed here.

pip install fluksio-worker

fluksio-worker \
  --url wss://api.example.com/api/v1/workers/attach \
  --token "$FLUKSIO_WORKER_TOKEN" \
  --labels gpu,cuda12 \
  --python /opt/torch-venv/bin/python

--python is the interpreter node code runs on, which is how this machine keeps its own wheels without the engine ever installing them. Mint a token from the engine with POST /api/v1/workers/tokens.

Linux and macOS.

License

Copyright (C) 2026 Melvin Strobl — GNU Affero General Public License v3.0 or later. Running a modified version over a network obliges you to offer its users the corresponding source (AGPL §13).