9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'app/jobs/ragdoll/extract_keywords_job.rb', line 9
def perform(document_id)
document = Ragdoll::Document.find(document_id)
return unless document.content.present?
return if document.keywords.present?
text_service = Ragdoll::TextGenerationService.new
keywords_array = text_service.(document.content)
if keywords_array.present?
keywords_string = keywords_array.join(", ")
document.update!(keywords: keywords_string)
end
rescue ActiveRecord::RecordNotFound
rescue StandardError => e
Rails.logger.error "Failed to generate keywords for document #{document_id}: #{e.message}" if defined?(Rails)
raise e
end
|