2011-07-19 6 views
7

Estoy ejecutando una aplicación que obtiene resultados de búsqueda del servidor de solr. Pero cuando el servidor no se ejecuta, no recibo respuesta del servidor. ¿Hay alguna forma en que pueda encontrar que mi servidor no se está ejecutando para que pueda dar el mensaje de error correcto al respectoCómo encontrar si el servidor de solr se está ejecutando o no

Respuesta

0

Probablemente debería utilizar algo como Nagios para controlar el estado de su hardware. Nagios también tiene un buen plugin for solr que puede ayudarte.

+0

Nagios no va a ayudar mucho si está tratando de manejar esto en su interfaz (mensaje de error). –

+0

bueno, él no especificó demasiado, nagios es la solución más independiente que pude pensar. –

1

Si el servidor no está respondiendo de manera oportuna (Solr), entonces debería considerar representándolo estar abajo y presentar el mensaje de error, independientemente de si es o no (es decir, su tomando mucho tiempo debido a que su sobrecargado) . Si lleva una eternidad cargarlo al usuario :)

La mayoría de los clientes de Solr tienen un tiempo de espera y una devolución de llamada de error de algún tipo. Si pasa el tiempo de espera, entonces muestra el error.

Si desea saber muy rápidamente que el servidor no funciona, puede colocar un JSP en solr que no haga más que imprimir un mensaje. Luego haga un HTTP GET al JSP y, si no aparece muy rápido, el servidor está inactivo.

+0

Creo que, desde el lado del cliente, un enfoque de tiempo de espera es más prudente que hacer ping periódicamente al servidor. –

9

Se puede hacer ping periódicamente su servidor (por ejemplo http://localhost:8983/solr/admin/ping) y en caso de un error pasar ese mensaje a la interfaz ...

+0

: ¿cómo debo hacer ping al servidor de Solr a través de la base de código para obtener el error? – Romi

+0

Su lenguaje de programación probablemente tiene alguna facilidad para programar trabajos que se ejecutarán regularmente (por ejemplo, http://www.quartz-scheduler.org para Java ...) Luego envíe una solicitud GET a la URL ping y procese el Respuesta de estado HTTP en consecuencia ... –

+0

Sé que esta es una respuesta anterior, pero ya no se aplica al último Solr. – Marc

0

Si tiene SolrServer objeto, simplemente llame SolrServer.ping() se lanza una excepción si no puede establecer la conexión.

Cuestiones relacionadas