Galaxy: Difference between revisions
Created page with "Galaxy is an open source web platform for accessing and manipulating research data. == Troubleshooting == ==== Timeouts after 60 seconds ==== Long running HTTP requests tim..." |
|||
| Line 8: | Line 8: | ||
The documentation doesn't explain how to change this default and there doesn't appear to be any way to change it based on the existing documentation. After some trial and error, the 60 seconds only appear to take effect on the http listener. As a workaround, you can make a separate uWSGI socket and have nginx proxy that instead of the uWSGI http listener. To do so: | The documentation doesn't explain how to change this default and there doesn't appear to be any way to change it based on the existing documentation. After some trial and error, the 60 seconds only appear to take effect on the http listener. As a workaround, you can make a separate uWSGI socket and have nginx proxy that instead of the uWSGI http listener. To do so: | ||
# Edit <code>config/galaxy.yml</code> and add under the uwsgi the <code>socket</code> and <code>harakiri</code> (not sure if this is needed...) values: | # Edit <code>config/galaxy.yml</code> and add under the uwsgi the <code>socket</code> and <code>harakiri</code> (not sure if this is needed...) values: {{Highlight | ||
{{Highlight | |||
| code = uwsgi: | | code = uwsgi: | ||
socket: 0.0.0.0:8070 | socket: 0.0.0.0:8070 | ||
| Line 15: | Line 14: | ||
| lang = text | | lang = text | ||
}} Restart the galaxy service to apply. | }} Restart the galaxy service to apply. | ||
# If using Nginx as a proxy, replace the proxy configs with: | # If using Nginx as a proxy, replace the proxy configs with:{{Highlight | ||
{{Highlight | |||
| code = uwsgi_pass galaxy-dev:8070; | | code = uwsgi_pass galaxy-dev:8070; | ||
include uwsgi_params; | include uwsgi_params; | ||
Revision as of 22:02, 10 August 2020
Galaxy is an open source web platform for accessing and manipulating research data.
Troubleshooting
Timeouts after 60 seconds
Long running HTTP requests time out after 60 seconds. This is evident by looking at HTTP requests made by the browser where pending requests timeout after exactly 1 minute. This is a problem for requests that are long running such generating a .zip file when a user wants to multiple files. As stated in their documentation:
By default, uWSGI will wait up to 60 seconds for web workers and mules to terminate.—Galaxy Project 19.09 Admin Documentation, https://docs.galaxyproject.org/en/release_19.09/admin/scaling.html
The documentation doesn't explain how to change this default and there doesn't appear to be any way to change it based on the existing documentation. After some trial and error, the 60 seconds only appear to take effect on the http listener. As a workaround, you can make a separate uWSGI socket and have nginx proxy that instead of the uWSGI http listener. To do so:
- Edit
config/galaxy.ymland add under the uwsgi thesocketandharakiri(not sure if this is needed...) values:Restart the galaxy service to apply.uwsgi: socket: 0.0.0.0:8070 harakiri: 300
- If using Nginx as a proxy, replace the proxy configs with:Reload Nginx to apply. (Eg.
uwsgi_pass galaxy-dev:8070; include uwsgi_params; uwsgi_param REMOTE_USER $remote_user; uwsgi_param X-Forwarded-Host $host; uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for; uwsgi_read_timeout 1800; uwsgi_send_timeout 1800;
/usr/local/nginx/sbin/nginx -s reload).