python django python-3.x web openshift

python - Openshift: OSError Errno 98 no puede actualizar el servidor



django python-3.x (3)

Estoy usando Openshift con Django / Python 3. Desde ayer, no he podido actualizar mi servidor. Cuando presiono un cambio, el empuje es exitoso. Usando SCP para ver los archivos en el servidor, los archivos actualizados están presentes. El uso de rhc git-pull también descarga los archivos correctos. Sin embargo, las plantillas son lo único que realmente se modifican en la aplicación mediante el push. Ningún cambio en los archivos de Python causa un efecto en la aplicación.

Cuando trato de usar ''rhc tail'', aparece el siguiente error:

OSError: [Errno 98] Address already in use

La búsqueda de este error me lleva a creer que hay varios procesos de servidor ejecutándose para mi aplicación. No estoy seguro de cómo ejecutar los diagnósticos sugeridos, ya que no controlo el servidor. ¿Algunas ideas? Reiniciar la aplicación no lo soluciona. La ejecución de la parada de rhc parece detener con éxito la aplicación, pero mi sitio web funciona sin problemas. (Nunca he intentado parar antes, pero supongo que se supone que debe matar el sitio web.)


Resuelto ejecutando ''rhc app force-stop'', luego ''rhc app start''. No sé qué fue lo que causó el problema, pero detener la fuerza mató al sitio web, y funcionó con el nuevo código después de volverlo a iniciar.


Creo que resolví el problema.

Estaba usando un viejo repositorio django, basado en https://github.com/openshift/openshift-community-cartridge-python-3.3/blob/master/template/app.py (el enlace está muerto, lo mencioné aquí solo para información).

En estos viejos cartuchos comunitarios, había un archivo app.py que iniciaba CherryPy o httpd, pero ahora el repositorio oficial de django ya no tiene app.py. (ver https://github.com/openshift/django-example )

El app.py ya no existe porque el servicio httpd se agregó automáticamente. Es por eso que teníamos OSError: [Errno 98] Address already in use .

Eliminar el app.py de mi repositorio resolvió el problema.

Recibí el error 500 porque mi aplicación Django tenía errores, no mi cartucho de Python. Es por eso que no entendía lo que estaba sucediendo. Encontré un find . -name *.log* find . -name *.log* en mi cartucho y leer todos los registros.

Ahora mi aplicación está funcionando. ¡Buena suerte!


Encontré esta publicación esta tarde por alguien que tiene el mismo problema. Parece que Openshift nos cambió algunas cosas. No recibí la nota :(.

Lea aquí: Publicación de blog de Openshift March

@MSDOS, es similar a su respuesta, pero quería publicar la respuesta genérica que probablemente esté afectando a la mayoría de las personas.

Para mí, solo tuve que cambiar el nombre de app.py (mi antiguo punto de entrada de wsgi) a wsgi.py y todo funcionó como debería. :) Ahora tengo que calcular lo que cambiaron a los trabajos cron :(