This repository was archived by the owner on Oct 4, 2026. It is now read-only.
Repository navigation
Conversation
mickr777
requested review from
JPPhoto,
Pfannkuchensack,
blessedcoolant and
lstein
as code owners
September 19, 2026 11:50
mickr777
force-pushed
the
remote-worker-v7
branch
from
September 21, 2026 03:44
fae8eb1 to
d4ac4cb
Compare
Collaborator
|
This is a big feature that has security implications. It will need a thorough review by multiple people. I am therefore marking it as DO NOT MERGE to avoid accidents! |
mickr777
force-pushed
the
remote-worker-v7
branch
2 times, most recently
from
September 26, 2026 11:30
c5139ce to
a65e11a
Compare
mickr777
force-pushed
the
remote-worker-v7
branch
from
September 27, 2026 13:07
5caf871 to
00a3239
Compare
Author
|
Quick update: this PR has had a substantial refactor. The total code change has been reduced by nearly half, with most Remote Worker code moved into the backend and the older frontend dispatch/recovery machinery removed. Remote workers now integrate much more directly with InvokeAI’s normal queue and execution flow |
Author
|
Superseded by invoke-ai#9642 after the InvokeAI-7 repository was merged back into invoke-ai/InvokeAI. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds optional multi-host rendering to InvokeAI v7. A primary InvokeAI instance can continue rendering locally while additional compatible InvokeAI instances on the network act as Remote Workers.
Remote work is coordinated by a backend worker pool and remains tied to InvokeAI's normal queue items, progress events, destinations, cancellation state, and result handling. Worker reachability and job claiming are backend-owned; browser health is display-only. No custom node pack is required; the primary and workers should run the same compatible InvokeAI build.
Implementation
canvas_output/video_output) and are persisted before terminal completion, so normal Canvas staging/result filtering continues to work after remote completion and refresh.Related Issues / Discussions
Feedback is welcome on whether this style of multi-host rendering belongs in InvokeAI core and whether the backend worker-pool / normal-queue integration fits the project's preferred architecture.
QA Instructions
Manual test environment
Setup and checks
host: 0.0.0.0in the worker'sinvoke.yaml.allow_private_download_urls: trueto each receiving worker'sinvoke.yamlwhere required by InvokeAI's model installer.Automated checks run
oxfmt --check.tsc --noEmit.Known limitations / considerations
Review
The earlier browser-driven Mirror / round-robin / auto-balance dispatch implementation was removed. The final implementation uses two modes only—Distributed and Remote Only—and routes work through a backend worker pool tied to normal InvokeAI queue items.
Worker availability and job eligibility have also been moved out of the core queue runtime. Browser health is now display-only; the backend probes workers before claim and can resume an enabled worker against already-pending eligible work after it recovers. The queue runtime retains only the submitted-graph helper injection needed to snapshot per-job destination/board settings.
Legacy synthetic Remote Worker queue/progress sessions, bridge replay state, custom Remote Worker cancellation endpoints, and obsolete Mirror collector code were removed during cleanup.
Compatibility / Rollout
allow_private_download_urls: true.host: 0.0.0.0when accessed from another machine.Checklist
What's Newcopy (if doing a release after this PR)