debian-mirror-gitlab/app/workers/delete_stored_files_worker.rb

30 lines
628 B
Ruby
Raw Normal View History

2019-02-15 15:39:39 +05:30
# frozen_string_literal: true
2020-04-08 14:13:33 +05:30
class DeleteStoredFilesWorker # rubocop:disable Scalability/IdempotentWorker
2019-02-15 15:39:39 +05:30
include ApplicationWorker
2021-10-27 15:23:28 +05:30
data_consistency :always
2021-06-08 01:23:25 +05:30
sidekiq_options retry: 3
2019-12-21 20:55:43 +05:30
feature_category_not_owned!
2020-06-23 00:09:42 +05:30
loggable_arguments 0
2019-12-21 20:55:43 +05:30
2019-02-15 15:39:39 +05:30
def perform(class_name, keys)
klass = begin
class_name.constantize
2021-04-29 21:17:54 +05:30
rescue NameError
nil
2019-02-15 15:39:39 +05:30
end
unless klass
message = "Unknown class '#{class_name}'"
logger.error(message)
2020-01-01 13:55:28 +05:30
Gitlab::ErrorTracking.track_and_raise_for_dev_exception(RuntimeError.new(message))
2019-02-15 15:39:39 +05:30
return
end
klass.new(logger: logger).delete_keys(keys)
end
end