Gunicorn: OS Error 26: archivo de texto ocupado al ejecutar gunicorn usando --pid en Vagrant

Creado en 31 may. 2017  ·  4Comentarios  ·  Fuente: benoitc/gunicorn

Hola a todos,

Tiene algunos problemas para ejecutarse con el indicador --pid . Parece que cada vez que uso esta bandera, gunicorn no puede comenzar. Sin la bandera no hay problema. Aquí está el error. Parece que gunicorn está intentando cambiar el nombre del archivo pid temporal a 'bzpid' en este caso, pero no puede porque está ocupado. ¿Quizás hay algo accediendo al archivo? Aunque no podía imaginar qué...

vagrant@basezero-nightly :/vagrant/cliente$ cd /vagrant/servidor
vagrant@basezero-nightly :/vagrant/server$ export BASEZERO_FLASK_SETTINGs=/vagrant/server/prodconfig.py
vagrant@basezero-nightly :/vagrant/server$ gunicorn --pid bzpid basezero_ matraz:aplicación
[2017-05-31 13:44:12 +0000] [20613] [INFO] Iniciando gunicorn 19.7.1
Rastreo (llamadas recientes más última):
Archivo "/usr/local/bin/gunicorn", línea 11, en
sys.exit(ejecutar())
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/app/wsgiapp.py", línea 74, en ejecución
WSGIApplication("%(prog)s [OPCIONES] [APP_MODULE]").run()
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", línea 203, en ejecución
super(Aplicación, auto).ejecutar()
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/app/base.py", línea 72, en ejecución
Árbitro(auto).ejecutar()
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", línea 198, en ejecución
self.inicio()
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/arbiter.py", línea 139, en inicio
self.pidfile.create(self.pid)
Archivo "/usr/local/lib/python3.5/dist-packages/gunicorn/pidfile.py", línea 39, en crear
os.rename(fname, self.fname)
OSError: [Errno 26] Archivo de texto ocupado: '/vagrant/server/tmpz5qc_vy3' -> 'bzpid'

Gracias por tu ayuda.

Comentario más útil

¿Estás ejecutando vagrant en Windows por casualidad? Si es así, tal vez esté compartiendo el directorio con Windows, y el sistema de archivos de Windows no puede admitir el cambio de nombre mientras está en uso.

Todos 4 comentarios

¿Estás ejecutando vagrant en Windows por casualidad? Si es así, tal vez esté compartiendo el directorio con Windows, y el sistema de archivos de Windows no puede admitir el cambio de nombre mientras está en uso.

Puedo confirmar que esto también sucede con Virtualbox

@akshaybabloo pero también en Windows compartiendo un directorio?

Sí, pero supongo que es un problema con Virtualbox (básicamente cualquier cosa que no sea el software de Microsoft), Windows bloquea cualquier archivo que no se genere con Hyper-V. Si cambia a Hyper-V, no tendrá este problema.

Pero tendrá otro problema, Hyper-v tiende a confundirse entre múltiples máquinas virtuales que se ejecutan en él, eventualmente falla o no hace nada. Creo que para superar esto, es posible que deba crear una nueva red virtual.

¿Fue útil esta página
0 / 5 - 0 calificaciones