2012-03-09 5 views
4

У меня есть теория о проблеме, с которой у меня возникают проблемы с Solr, но я не знаю, правда ли это, и я не знаю, как ее протестировать.Запрос Solr продолжается после отсоединения клиента?

Я запрашиваю Solr из приложения с cURL. cURL был настроен таким образом, что если Solr не отправил ответ в течение 3 секунд, он откажется и отключится, позволяя приложению, поддерживающему cURL, продолжить работу без запрашиваемых данных от Solr. Теория состоит в том, что после отключения cURL Solr продолжает обрабатывать запрос в фоновом режиме.

Это то, что делает Solr? Если да, есть ли опция конфигурации, чтобы изменить это поведение? Есть ли какой-либо реальный способ проверить это поведение?

ответ

5

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

Также см this

Вы можете поэкспериментировать с параметром timeAllowed описано here, чтобы увидеть, если это поможет.

+1

Интересно! Чтобы уточнить, запрос, который занимает 30 секунд, будет продолжать работать, даже если клиент отключился от HTTP-стороны через 3 секунды, да? Спасибо за вашу помощь, особенно за подсказку на 'TimeAllowed'! – Brad

+0

Правильно, запрос будет продолжать работать, если мы не будем использовать 'timeAllowed'. – nikhil500

+0

Отлично, еще раз спасибо за помощь! – Brad

Смежные вопросы