Solr - Как я могу получать уведомления о сбоях импорта из моего DataImportHandler? - PullRequest
5 голосов
/ 01 февраля 2012

Наши индексы solr обновляются по расписанию, а также произвольно по мере необходимости с помощью полного импорта DataImportHandler.У нас было несколько случаев, когда импорт не удался по разным причинам.

Как я могу получить уведомление (желательно по электронной почте) о том, что произошла ошибка при выполнении импорта с DataImportHandler?

Ответы [ 2 ]

7 голосов
/ 01 февраля 2012

Нет простого конфигурационного решения.Но существует альтернатива, вам, возможно, придется проделать небольшую работу.

Вы можете зарегистрировать EventListener в DIH в data-config для прослушивания событий EventListener .

См. Wiki

<dataConfig>
  <document onImportStart ="com.foo.StartEventListener" onImportEnd="com.foo.EndEventListener">
   ....
   </document>
</dataConfig>

Ваш EventListener предоставляет вам доступ к Context Object, который обеспечивает доступ к большинству объектов DataImportHandler & EventСтатистика.

Например, onImportEnd событие, которое com.foo.EndEventListener мог бы использовать Context дескриптор объекта для получения таких характеристик, как # of DocsSkipped, # of DocsFailed ... Context - это ценный объект, который подвергает многоDIH внутренние органы.Ваш слушатель события должен делать то, что ему нужно делать с этой информацией.

Возможно, предостережение: уведомление DIH происходит в основном после того факта, что вы не будете получать уведомления о событиях, когда они происходят, вам придется ждать завершения процесса импорта, чтобы DIH уведомил вашего слушателя, или, возможно, он был там.это обходной путь.

1 голос
/ 12 июля 2013

После некоторой успешной попытки использовать EventListener мы пересмотрели наши варианты и в конечном итоге остановились на подходе, который менее надежен.

Вместо расширения Solr мы используем нашу существующую инфраструктуру мониторинга (в основном с Nagios) для опроса статуса dataimporthandler. Он запускается каждую минуту и ​​предупреждает нас по обычным каналам, если обнаруживает неудачный импорт. Это хорошо, но все равно не удается определить, не выполняются ли задания вообще, - и пропустило несколько других ключевых случаев.

В целом, пока это работает достаточно хорошо. Он использует нашу существующую инфраструктуру и ограничивает наши усилия в области Solr своей основной функциональностью. Я определенно вернусь к этому, когда мы наконец сделаем обновление до Solr 4.0.

...