discourse/app/jobs/regular/index_user_fields_for_search.rb
Natalie Tay 00a9369ca2
FIX: Move user reindexing into a job (#26753)
In a large forum with millions of users and millions of user_fields
updating the list of dropdown user field options will result in a
502 now due to the large number of fields.

This commit moves the indexing into a job.
2024-04-25 20:58:34 +08:00

11 lines
279 B
Ruby

# frozen_string_literal: true
class Jobs::IndexUserFieldsForSearch < Jobs::Base
def execute(args)
user_field_id = args[:user_field_id]
SearchIndexer.queue_users_reindex(
UserCustomField.where(name: "user_field_#{user_field_id}").pluck(:user_id),
)
end
end