-
-
Notifications
You must be signed in to change notification settings - Fork 959
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
UWSGI workers got busy for too long when processing big PO files upload #5691
Comments
You upload all the files sequentially, and that will cause quite some overhead in processing on the Weblate side (at least the monolingual base file has to be parsed for every language). Creating a ZIP file will all the translations and uploading it at once when creating a component will perform much better.
Add performance will be much better in 4.5.2.
That would have to be opt-in to avoid breaking existing API usage. |
This issue looks more like a support question than an issue. We strive to answer these reasonably fast, but purchasing the support subscription is not only more responsible and faster for your business but also makes Weblate stronger. In case your question is already answered, making a donation is the right way to say thank you! |
This issue has been automatically marked as stale because there wasn’t any recent activity. It will be closed soon if no further action occurs. Thank you for your contributions! |
This issue has been automatically marked as stale because there wasn’t any recent activity. It will be closed soon if no further action occurs. Thank you for your contributions! |
There are several changes which should improve the performance in 4.9. Still, it will run synchronously - the API change is something I'd like to avoid at this point. |
Thank you for your report; the issue you have reported has just been fixed.
|
When managing big PO files (5MB -- 20.000 phrases on components) UWSGI workers get busy for very long period hence weblate get completely stuck due no available workers to process the request.
I already tried to split the file into different chunks and use a different upload "method" to handle the file (using
add
instead ofreplace
). But haven't experienced any improvement regarding the response time for projects with 20.000 phrases and 120 languages.To Reproduce the issue
I've created a script to reproduce this locally:
Ideally, every time there's a long-running task, it should be handled by celery (as we do when creating the component, the API returns the
task_url
https://docs.weblate.org/en/latest/api.html#post--api-projects-(string-project)-components-)I've attached some screenshots of what is silk reporting regarding the performance:
The text was updated successfully, but these errors were encountered: