unix - Gunicorn socket disappears -
distributor id: ubuntu description: ubuntu 12.04.4 lts release: 12.04 codename: precise gunicorn (version 19.1.1) nginx version: nginx/1.1.19
my gunicorn conf:
bind = ["unix:///tmp/someproj1.sock", "unix:///tmp/someproj2.sock"] pythonpath = "/home/deploy/someproj/someproj" workers = 5 worker_class = "eventlet" worker_connections = 25 timeout = 3600 graceful_timeout = 3600
we started getting 502s @ around 2pm yesterday in our dev env. in nginx error log:
connect() unix:///tmp/someproj1.sock failed (2: no such file or directory) while connecting upstream"
both gunicorn sockets missing /tmp.
at 11:55am today ran ps -eo pid,cmd,etime|grep gunicorn
uptime:
4156 gunicorn: master [myproj. 22:53:54 4161 gunicorn: worker [myproj. 22:53:54 4162 gunicorn: worker [myproj. 22:53:54 4163 gunicorn: worker [myproj. 22:53:54 4164 gunicorn: worker [myproj. 22:53:54 4165 gunicorn: worker [myproj. 22:53:53 5207 grep --color=auto gunicorn 00:00
so gunicorn , workers have been running uninterrupted since ~1:01pm yesterday. nginx access log confirm requests being served hour after gunicorn started. seems reason both gunicorn sockets disappeared, , gunicorn continued running without writing error logs.
any ideas on cause that? or how fix it?
it turns out indeed bug, eventlet
workers delete socket when restart.
the fix has been merged master branch, has unfortunately not been released yet (version 19.3 still has problem).
Comments
Post a Comment