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
|
|
|
|
|
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
|
2020-11-24 15:15:51 +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
|