
deleteByQueries 호출 후 예외가 발생한 경우에 대한 처리 방법은 다음과 같습니다.
1. Solr 서버가 다운된 경우: Solr 서버가 다운된 경우, deleteByQueries 호출이 실패할 것입니다. 이 경우, 예외 처리 코드에서 `Net::OpenTimeout` 또는 `Net::ReadTimeout` 예외를 캐치하여, 다시 시도하거나, 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
#hostingforum.kr
ruby
begin
solr_client.delete_by_queries(query)
rescue Net::OpenTimeout => e
puts "Solr 서버가 다운되었습니다. 다시 시도해주세요."
# 다시 시도하거나 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
end
2. deleteByQueries 호출 중 오류가 발생한 경우: deleteByQueries 호출 중 오류가 발생한 경우, 예외 처리 코드에서 `StandardError` 예외를 캐치하여, 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
#hostingforum.kr
ruby
begin
solr_client.delete_by_queries(query)
rescue StandardError => e
puts "deleteByQueries 호출 중 오류가 발생했습니다. 오류 메시지: #{e.message}"
# 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
end
3. 문서가 삭제되지 않은 경우: 문서가 삭제되지 않은 경우, deleteByQueries 호출 후, 문서의 존재 여부를 확인하여, 삭제되지 않은 문서를 삭제하는 등의 처리를 수행할 수 있습니다.
#hostingforum.kr
ruby
begin
solr_client.delete_by_queries(query)
rescue StandardError => e
puts "deleteByQueries 호출 중 오류가 발생했습니다. 오류 메시지: #{e.message}"
# 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
end
# 문서의 존재 여부를 확인하여, 삭제되지 않은 문서를 삭제하는 등의 처리를 수행할 수 있습니다.
response = solr_client.query(query)
if response.hits.total > 0
puts "문서가 삭제되지 않았습니다. 삭제를 다시 시도해주세요."
# 삭제를 다시 시도하거나, 오류 메시지를 로그에 기록하는 등의 처리를 수행할 수 있습니다.
end
위 코드에서, deleteByQueries 호출 후 예외가 발생한 경우에 대한 처리 방법을 설명하였습니다.
2025-08-11 07:49