From d12c38c344826cca1299e8e7c30a9b16d7b2ff39 Mon Sep 17 00:00:00 2001 From: Sojan Jose Date: Tue, 16 Apr 2024 09:43:16 -0700 Subject: [PATCH] chore: Move embedding generation to sidekiq (#9238) chore: Move embedding generation to a job --- enterprise/app/jobs/portal/article_indexing_job.rb | 7 +++++++ enterprise/app/models/enterprise/concerns/article.rb | 4 ++++ 2 files changed, 11 insertions(+) create mode 100644 enterprise/app/jobs/portal/article_indexing_job.rb diff --git a/enterprise/app/jobs/portal/article_indexing_job.rb b/enterprise/app/jobs/portal/article_indexing_job.rb new file mode 100644 index 000000000..6d5eb9a75 --- /dev/null +++ b/enterprise/app/jobs/portal/article_indexing_job.rb @@ -0,0 +1,7 @@ +class Portal::ArticleIndexingJob < ApplicationJob + queue_as :low + + def perform(article) + article.generate_and_save_article_seach_terms + end +end diff --git a/enterprise/app/models/enterprise/concerns/article.rb b/enterprise/app/models/enterprise/concerns/article.rb index aa67ee7a5..e230a3a28 100644 --- a/enterprise/app/models/enterprise/concerns/article.rb +++ b/enterprise/app/models/enterprise/concerns/article.rb @@ -39,6 +39,10 @@ module Enterprise::Concerns::Article def add_article_embedding return unless account.feature_enabled?('help_center_embedding_search') + Portal::ArticleIndexingJob.perform_later(self) + end + + def generate_and_save_article_seach_terms terms = generate_article_search_terms article_embeddings.destroy_all terms.each { |term| article_embeddings.create!(term: term) }