Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Check for Extension Updates in Parallel #16604

Merged
merged 2 commits into from
Dec 17, 2024

Conversation

Haoming02
Copy link
Contributor

Description

  • a simple description of what you're trying to accomplish: Check the updates for all Extensions at once rather than one by one
    • On my system, checking updates for a dozen Extensions now only takes around 1 second, and after applying the updates, everything still works fine.
  • a summary of changes in code: Make the for ext in exts: loop multi-threaded using the threading package

Checklist:


Though, I'm not sure if the shared.state parts should be changed or not...

shared.opts.concurrent_git_fetch_limit
@w-e-w
Copy link
Collaborator

w-e-w commented Oct 29, 2024

somehow I feel like the possibility of requesting hundreds of fetch to github is a bad idea
so I made some minor changes mainly rewriting it using ThreadPoolExecutor and setting a deafault limit of 16
and add some Atomic sections such as updating progress bar and Reporting on errors

do you think the number should be higher than 16?

fun fact I about 200 extension installed, (10 enabled, 190 disabled)


there is also the --update-all-extensions cli arg
which currently is not concurrent
if that is to be made concurrent I'm not sure using a setting value is a good idea

@w-e-w w-e-w merged commit 04903af into AUTOMATIC1111:dev Dec 17, 2024
3 checks passed
@Haoming02 Haoming02 deleted the ext-updt-parallel branch December 18, 2024 01:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants