-
-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
feat(ml): support multiple urls #14347
Conversation
We are not using this property in the mobile app so as long as you can login, it is good |
add load balancing section
doc formatting wording wording linting
02083a0
to
b164b9e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good to me, will probably give it a spin tomorrow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work! Thank you
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You have changed it from a string to a list, but all the variable names are still url
, which is confusing imo. Should it not be urls
now? For compatibility we could support both for a time, give a warning for url
, and map that to urls
Description
A current limitation of remote machine learning is that it expects constant uptime: jobs will fail to be processed if the remote container is down. This PR adds the ability to specify multiple URLs for remote machine learning that are attempted sequentially. This improves the reliability of the feature by allowing a fallback to the local machine learning container when the remote container is not available.
Note: this PR changes the server config type of the machine learning URL to an array. To avoid breaking every Immich instance, string fields are wrapped in an array before validation. I tested with the official mobile app and didn't notice any issues, but I'm not sure if there are any cases where this would be a breaking change.
Testing
Tested that machine learning tasks with one URL work, that specifying two URLs and making the first fail will lead to the second URL being used for that request, and tested the setting UI as in this video
remote-urls.mov