Skip to content
Snippets Groups Projects
Commit 06156888 authored by Valery Sizov's avatar Valery Sizov
Browse files

[Elasticsearch][index_database task] Limit the number of workers

parent df2d3773
No related merge requests found
......@@ -88,7 +88,26 @@ namespace :gitlab do
end
desc "GitLab | Elasticsearch | Index all database objects"
multitask index_database: INDEXABLE_CLASSES.values
task index_database: :environment do
Thread.abort_on_exception = true
queue = Queue.new
workers_number = 4
INDEXABLE_CLASSES.values.each{ |task_name| queue << task_name }
workers = Array.new(workers_number) do
Thread.new do
begin
while task_name = queue.pop(true)
Rake::Task["gitlab:elastic:#{task_name}"].invoke
end
rescue ThreadError
end
end
end
workers.each(&:join)
end
desc "GitLab | Elasticsearch | Create empty index"
task create_empty_index: :environment do
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment