-
Notifications
You must be signed in to change notification settings - Fork 102
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
sync/async worker support #4447
Conversation
All Gunicorn WSGI command line features seem to be working nicely. Your expectation is that Given that we are unable to guarantee OMERO.web thread safety, it was never designed or tested in such an environment, I would strongly suggest we label /cc @joshmoore, @jburel |
@chris-allan thank you for your help with testing. I moved recommended settings to development section. Documentation was updated accordingly. We performed brief testing in https://trello.com/c/TLsw5ffl/73-testing-async-workers. Definitely more test needed. I am sorry worker_class was missing from the description. I am glade was easy to find that in settings directly. |
Definitely wasn't a problem to find in settings directly after I realized it shouldn't be as difficult as I was making it. Since I have significant prior experience with Gunicorn I was adding With respect to testing threaded or eventlet worker modes, I'm less worried about downloads specifically and more worried about the application as a whole. Especially custom template tags. Any shared state in package variables, classes or similar exposes potential race conditions, crashes, and other safety issues when run in a threaded environment. Quite simply, it is incredibly dangerous to take the amount of code we have in OMERO.web and just assume it is completely thread safe. Especially when that was never a stated design or development consideration to begin with. Adding separate comments to ome/omero-documentation#1396 regarding the location of experimental feature documentation on the page. /cc @will-moore |
@hflynn: the change |
Merging thanks all |
PRs now opened: |
This PR doesn't resolve download issue, only makes deployment parameters clear and easy configurable
This PR deprecates existing commend line args and allows fully customize web deployment using parameters, see documentation https://www.openmicroscopy.org/site/support/omero5.2-staging/sysadmins/unix/install-web/install-nginx.html
pip install -r share/web/requirements-py27-nginx.txt
pip install futures
bin/omero web start
omero.web.wsgi_workers (2 x NUM_CORES) + 1
omero.web.wsgi_threads (2-4 x NUM_CORES)
omero.web.application_server.max_requests 500
omero.web.wsgi_timeout 30
omero.web.wsgi_args
additional argumentspip install -r share/web/requirements-py27-nginx.txt
pip install gevent
bin/omero web start
omero.web.wsgi_workers (2 x NUM_CORES) + 1
omero.web.wsgi_worker_connections 1000
omero.web.wsgi_worker_class gevent
omero.web.application_server.max_requests 0
omero.web.wsgi_timeout 30
omero.web.wsgi_args
Additional argumentsalways check
ps aux | grep /home/omero/OMERO.server/var/django.pid
if parameters were correctly appliedor