Module: ReactiveCacheableWorker

Extended by:
ActiveSupport::Concern
Included in:
ExternalServiceReactiveCachingWorker, ReactiveCachingWorker
Defined in:
app/workers/concerns/reactive_cacheable_worker.rb

Instance Method Summary collapse

Instance Method Details

#perform(class_name, id, *args) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/workers/concerns/reactive_cacheable_worker.rb', line 23

def perform(class_name, id, *args)
  klass = begin
    class_name.constantize
  rescue NameError
    nil
  end

  return unless klass

  klass
    .reactive_cache_worker_finder
    .call(id, *args)
    .try(:exclusively_update_reactive_cache!, *args)
rescue ReactiveCaching::ExceededReactiveCacheLimit => e
  Gitlab::ErrorTracking.track_exception(e)
end