Cómo probar un python eval declaración en UWSGI ini de la aplicación de configuración?

StackOverflow https://stackoverflow.com//questions/21051250

  •  22-12-2019
  •  | 
  •  

Pregunta

Como mucho puedo decir, mi eval declaración dentro de un USWGI la aplicación de configuración no funciona/ejecutar, pero no puedo averiguar cómo probar esto.

  • OS: Debian GNU/Linux 7.1 (wheezy)
  • UWSGI: 1.2.3-debian
  • Python: 2.7

En realidad estoy tratando de configurar Newrelic del monitoreo de la aplicación con el siguiente en mi app.ini archivo (utilizando el aplicación de un método de montaje para una aplicación de Django):

[uwsgi]
chdir = /home/app-user/myapp/bin
wsgi-file = django.wsgi
socket = 127.0.0.1:3031
pythonpath = /home/app-user/myapp/src
logto = /var/log/uwsgi/app/myapp.log
enable-threads = true
single-interpreter = true
eval = import newrelic.agent, django.wsgi; newrelic.agent.initialize('/path/to/newrelic.ini'); application = newrelic.agent.wsgi_application()(django.wsgi.application)

Mi newrelic.ini conf:

log_file = /tmp/newrelic-python-agent.log

Después de reiniciar y hacer algunas peticiones a la aplicación (que está en marcha y funcionando como de costumbre) el newrelic log_file no es creado, incluso, y no hay nada en el uwsgi de la aplicación de registro de o el django registro, así que no sé cómo decirle lo que está sucediendo en la eval.

He intentado poner de plano sintácticamente incorrecta cosas en la eval, pero uwsgi todavía se reinicia correctamente.

Es allí una manera de validar lo que en la evaluación de la declaración como ejecutado por el uwsgi proceso?

¿Fue útil?

Solución

Llego tarde a la fiesta, pero su problema era que tenía wsgi-file la opción que hizo eval inútil.(Lo mismo va para module opción - este es el caso que yo había hecho.)

Así, para hacer uWSGI envolver cualquier WSGI aplicación con un middleware, que sólo había que quitar el infractor opciones.I. e.:

; DON'T USE THIS: wsgi-file=myproject/wsgi.py
; NEITHER THIS: module=myproject.wsgi
eval=import myproject.wsgi, myfancymw; application = myfancymw.wrap(myproject.wsgi.application)

Otros consejos

Suena como si estuviera mucho aquí.Es posible que desee abrir un boleto con Newrélico en

https://support.newrelic.com Para que puedan investigar lo que está sucediendo en su configuración.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top