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

Warn instead of failing when stale pid successfully removed #5991

Merged
merged 1 commit into from
May 8, 2019

Conversation

manics
Copy link
Member

@manics manics commented Apr 3, 2019

If a stale django PID file is found and successfully removed continue to start OMERO.web instead of dieing: https://trello.com/c/nYsytx1P/295-omeroweb-doesnt-start-if-an-old-djangopid-file-is-present

Testing:

  1. Configure OMRO.web with a production style configuration (not debug or development).
  2. omero web start
  3. Forcibly kill OMERO.web without giving Django a change to clean-up (ps -ef to find Gunicorn parent PID, kill -9 <Gunicorn parent pid>, ps -ef to verify all Gunicorn processes were killed)
  4. omero web start should output a warning, then continue to start:
WARNING: Removed stale /Users/spli/work/openmicroscopy/dist/var/django.pid
[OK]

@joshmoore
Copy link
Member

Leaving @will-moore to comment, but I'd agree that if the pid isn't running, there's not much the user can do (as opposed to the other "stale" error in the file).

@will-moore
Copy link
Member

I haven't tested functionality locally, but agree that it's nicer to remove pid file automatically than to die. Let me know if this needs functionality testing and I can work on setting up "production" web locally.

@joshmoore
Copy link
Member

The functional impact of this one is minimal, so I can see getting it in. @will-moore, in general though, it would be good to have you set up for production locally, both for these reviews as well as for testing your apps in a more realistic scenario. If that's doable in time for testing this, that'd be great.

@will-moore
Copy link
Member

OK, so I'm running nginx as described https://docs.openmicroscopy.org/omero/5.4.10/developers/Web/Deployment.html
without this PR:

ps -ef | grep gunicorn
1498733309 36383     1   0  2:23pm ??         0:00.03 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36386 36383   0  2:23pm ??         0:01.47 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36387 36383   0  2:23pm ??         0:01.45 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36388 36383   0  2:23pm ??         0:01.39 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36389 36383   0  2:23pm ??         0:01.33 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36390 36383   0  2:23pm ??         0:01.27 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36403   765   0  2:23pm ttys000    0:00.00 grep gunicorn

Then I kill -9 pid (I think this is the parent ID) and see that the parent is gone but the others are still there

ls31618:dist wmoore$ kill -9 36383
ls31618:dist wmoore$ ps -ef | grep gunicorn
1498733309 36386     1   0  2:23pm ??         0:01.68 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36387     1   0  2:23pm ??         0:01.64 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36388     1   0  2:23pm ??         0:01.60 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36389     1   0  2:23pm ??         0:01.54 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36390     1   0  2:23pm ??         0:01.48 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36416   765   0  2:24pm ttys000    0:00.00 grep gunicorn

As expected, start fails

ls31618:dist wmoore$ omero web start
...
Starting OMERO.web... [ERROR] OMERO.web workers (PID 36383) - no such process. Use `ps aux | grep /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid` and kill stale processes by hand.
Removed stale /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid

Then I checked out this PR and web started OK

...
Clearing expired sessions. This may take some time... [OK]
Starting OMERO.web... [OK]

I tried to repeat this, just to check again but.... this time ALL the gunicorn processes died (which is kinda what I expected to happen first time

ls31618:dist wmoore$ ps -ef | grep gunicorn
1498733309 36515     1   0  2:25pm ??         0:00.03 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36518 36515   0  2:25pm ??         0:01.53 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36519 36515   0  2:25pm ??         0:01.42 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36520 36515   0  2:25pm ??         0:01.43 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36521 36515   0  2:25pm ??         0:01.38 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36522 36515   0  2:25pm ??         0:01.34 /usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python /usr/local/bin/gunicorn -D -p /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid --bind 127.0.0.1:4080 --workers 5 --threads 1 --timeout 60 --max-requests 1 --reload omeroweb.wsgi:application
1498733309 36530   765   0  2:25pm ttys000    0:00.00 grep gunicorn
ls31618:dist wmoore$ kill -9 36515
ls31618:dist wmoore$ ps -ef | grep gunicorn
1498733309 36548   765   0  2:26pm ttys000    0:00.00 grep gunicorn

And now web doesn't restart

ls31618:dist wmoore$ omero web start
...
Starting OMERO.web... [ERROR] OMERO.web workers (PID 36515) - no such process. Use `ps aux | grep /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid` and kill stale processes by hand.
Removed stale /Users/wmoore/Desktop/OMERO/openmicroscopy/dist/var/django.pid

So, I can run "production" web locally 👍 but not sure I'm testing this PR right?

@joshmoore
Copy link
Member

Using the container from ome/omero-web-docker#29 I see the same behavior @will-moore was referring to:

[jamoore@idr1-slot2 omero-web-docker]$ docker-compose run --entrypoint=bash web
bash-4.2$ cd /opt/omero/web/OMERO.web/
bash-4.2$ . ../venv/bin/activate
(venv) bash-4.2$ bin/omero web start
...
604 static files copied to '/opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/lib/python/omeroweb/static', 2 post-processed.
Clearing expired sessions. This may take some time... [OK]
Starting OMERO.web... [OK]
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.2  0.0  11772  1892 pts/0    Ss   06:27   0:00 bash
omero-w+     84  0.3  0.0 111516 14968 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     89  9.8  0.0 203400 70372 ?        S    06:28   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+     90  9.3  0.0 203400 70352 ?        S    06:28   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+     95 10.3  0.0 203400 70360 ?        S    06:28   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    100 11.0  0.0 203404 70356 ?        S    06:28   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    101 12.6  0.0 203404 70356 ?        S    06:28   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    114  0.0  0.0  47444  1640 pts/0    R+   06:28   0:00   ps auxw -H
(venv) bash-4.2$ kill -9 84
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.1  0.0  11772  1896 pts/0    Ss   06:27   0:00 bash
omero-w+     89  3.1  0.0 203400 70372 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     90  2.9  0.0 203400 70352 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     95  3.2  0.0 203400 70360 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    100  3.0  0.0 203404 70356 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    101  3.5  0.0 203404 70356 ?        S    06:28   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    115  0.0  0.0  47444  1640 pts/0    R+   06:28   0:00   ps auxw -H
(venv) bash-4.2$ bin/omero web start
Post-processed 'omeroweb.viewer.min.css' as 'omeroweb.viewer.min.css'
Post-processed 'omeroweb.viewer.min.js' as 'omeroweb.viewer.min.js'

0 static files copied to '/opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/lib/python/omeroweb/static', 604 unmodified, 2 post-processed.
Clearing expired sessions. This may take some time... [OK]
Starting OMERO.web... [ERROR] OMERO.web workers (PID 84) - no such process. Use `ps aux | grep /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid` and kill stale processes by hand.
WARNING: Removed stale /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid
[OK]
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.1  0.0  11772  1896 pts/0    Ss   06:27   0:00 bash
omero-w+    186  0.0  0.0  47444  1640 pts/0    R+   06:28   0:00   ps auxw -H

The second run does start up:

(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.0  0.0  11772  1896 pts/0    Ss   06:27   0:00 bash
omero-w+    187  0.0  0.0  47444  1636 pts/0    R+   06:30   0:00   ps auxw -H
(venv) bash-4.2$ bin/omero web start
Post-processed 'omeroweb.viewer.min.css' as 'omeroweb.viewer.min.css'
Post-processed 'omeroweb.viewer.min.js' as 'omeroweb.viewer.min.js'

0 static files copied to '/opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/lib/python/omeroweb/static', 604 unmodified, 2 post-processed.
Clearing expired sessions. This may take some time... [OK]
Starting OMERO.web... [ERROR] OMERO.web workers (PID 181) - no such process. Use `ps aux | grep /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid` and kill stale processes by hand.
WARNING: Removed stale /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid
[OK]
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.0  0.0  11772  1896 pts/0    Ss   06:27   0:00 bash
omero-w+    253  0.5  0.0 111516 14972 ?        S    06:30   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    258 35.0  0.0 203400 70352 ?        S    06:30   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    259 27.0  0.0 203400 70352 ?        S    06:30   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    260 29.5  0.0 203404 70360 ?        S    06:30   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    269 27.0  0.0 203404 70356 ?        S    06:30   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    274 31.0  0.0 203408 70356 ?        S    06:30   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    283  0.0  0.0  47444  1644 pts/0    R+   06:30   0:00   ps auxw -H

@joshmoore
Copy link
Member

If I kill all of the processes, then it works as expected. In a fresh container:

604 static files copied to '/opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/lib/python/omeroweb/static', 2 post-processed.
Clearing expired sessions. This may take some time... p[OK]
Starting OMERO.web... [OK]
s(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.2  0.0  11772  1880 pts/0    Ss   06:31   0:00 bash
omero-w+     75  1.0  0.0 111516 14972 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     80 57.0  0.0 203400 70372 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+     81 63.0  0.0 203400 70352 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+     86 69.0  0.0 203400 70360 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+     90 53.0  0.0 203404 70356 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    100 59.0  0.0 203404 70356 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    105  0.0  0.0  47444  1636 pts/0    R+   06:32   0:00   ps auxw -H
(venv) bash-4.2$ kill -9 75
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.1  0.0  11772  1880 pts/0    Ss   06:31   0:00 bash
omero-w+     80  8.1  0.0 203400 70372 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     81  9.0  0.0 203400 70352 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     86  9.8  0.0 203400 70360 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+     90  7.5  0.0 203404 70356 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    100  8.4  0.0 203404 70356 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    106  0.0  0.0  47444  1640 pts/0    R+   06:32   0:00   ps auxw -H
(venv) bash-4.2$ bin/omero web start^C
(venv) bash-4.2$ kill -9 80 81 86 90 100 106
bash: kill: (106) - No such process
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.1  0.0  11772  1884 pts/0    Ss   06:31   0:00 bash
omero-w+    107  0.0  0.0  47444  1640 pts/0    R+   06:32   0:00   ps auxw -H
(venv) bash-4.2$ bin/omero web start
Post-processed 'omeroweb.viewer.min.css' as 'omeroweb.viewer.min.css'
Post-processed 'omeroweb.viewer.min.js' as 'omeroweb.viewer.min.js'

0 static files copied to '/opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/lib/python/omeroweb/static', 604 unmodified, 2 post-processed.
Clearing expired sessions. This may take some time... [OK]
Starting OMERO.web... [ERROR] OMERO.web workers (PID 75) - no such process. Use `ps aux | grep /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid` and kill stale processes by hand.
WARNING: Removed stale /opt/omero/web/OMERO.py-5.5.0-m6-102-359d4fe-ice36-b16/var/django.pid
[OK]
(venv) bash-4.2$ ps auxw -H
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
omero-w+      1  0.1  0.0  11772  1888 pts/0    Ss   06:31   0:00 bash
omero-w+    173  0.6  0.0 111516 14968 ?        S    06:32   0:00   /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -D
omero-w+    178 28.5  0.0 203400 70348 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    179 28.5  0.0 203400 70348 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    184 34.0  0.0 203400 70356 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    189 28.0  0.0 203404 70352 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    190 27.5  0.0 203404 70352 ?        S    06:32   0:00     /opt/omero/web/venv/bin/python /opt/omero/web/venv/bin/gunicorn -
omero-w+    203  0.0  0.0  47444  1644 pts/0    R+   06:32   0:00   ps auxw -H

@manics
Copy link
Member Author

manics commented May 8, 2019

This PR will only work if all processes were killed, for instance an unclean shutdown. If for whatever reason kill -9 didn't stop all child processes you're in an inconsistent state where OMERO.web doesn't know it's running since the parent process has gone but old OMERO.web processes may still have file or port handles open, and you'll have to manually clean up the leftover processes.

@manics
Copy link
Member Author

manics commented May 8, 2019

@joshmoore
Copy link
Member

Understood. If that's the expected behavior, 👍

@joshmoore joshmoore merged commit 6fb08b8 into ome:develop May 8, 2019
@manics manics deleted the omero-web-unclean-shutdown branch May 8, 2019 09:16
@jburel jburel added this to the 5.5.0 milestone Jun 13, 2019
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.

4 participants