Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tasks/gitlab/sidekiq.rake')
-rw-r--r--lib/tasks/gitlab/sidekiq.rake23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/tasks/gitlab/sidekiq.rake b/lib/tasks/gitlab/sidekiq.rake
index 6f00db42d78..6f5c3a86dd3 100644
--- a/lib/tasks/gitlab/sidekiq.rake
+++ b/lib/tasks/gitlab/sidekiq.rake
@@ -8,6 +8,29 @@ namespace :gitlab do
File.write(path, banner + YAML.dump(object).gsub(/ *$/m, ''))
end
+ namespace :migrate_jobs do
+ def mappings
+ ::Gitlab::SidekiqConfig
+ .workers
+ .reject { |worker| worker.klass.is_a?(Gitlab::SidekiqConfig::DummyWorker) }
+ .to_h { |worker| [worker.klass.to_s, ::Gitlab::SidekiqConfig::WorkerRouter.global.route(worker.klass)] }
+ end
+
+ desc 'GitLab | Sidekiq | Migrate jobs in the scheduled set to new queue names'
+ task schedule: :environment do
+ ::Gitlab::SidekiqMigrateJobs
+ .new('schedule', logger: Logger.new($stdout))
+ .execute(mappings)
+ end
+
+ desc 'GitLab | Sidekiq | Migrate jobs in the retry set to new queue names'
+ task retry: :environment do
+ ::Gitlab::SidekiqMigrateJobs
+ .new('retry', logger: Logger.new($stdout))
+ .execute(mappings)
+ end
+ end
+
namespace :all_queues_yml do
desc 'GitLab | Sidekiq | Generate all_queues.yml based on worker definitions'
task generate: :environment do