Class: BulkImports::TransformReferencesWorker

Inherits:
Object
  • Object
show all
Includes:
ApplicationWorker
Defined in:
app/workers/bulk_imports/transform_references_worker.rb

Constant Summary

Constants included from ApplicationWorker

ApplicationWorker::LOGGING_EXTRA_KEY, ApplicationWorker::SAFE_PUSH_BULK_LIMIT

Constants included from Gitlab::Loggable

Gitlab::Loggable::ANONYMOUS

Constants included from WorkerAttributes

WorkerAttributes::DEFAULT_DATA_CONSISTENCY, WorkerAttributes::DEFAULT_DATA_CONSISTENCY_PER_DB, WorkerAttributes::DEFAULT_DEFER_DELAY, WorkerAttributes::LOAD_BALANCED_DATA_CONSISTENCIES, WorkerAttributes::NAMESPACE_WEIGHTS, WorkerAttributes::VALID_DATA_CONSISTENCIES, WorkerAttributes::VALID_RESOURCE_BOUNDARIES, WorkerAttributes::VALID_URGENCIES

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Gitlab::Loggable

#build_structured_payload

Methods included from Gitlab::SidekiqVersioning::Worker

#job_version

Methods included from WorkerContext

#with_context

Instance Attribute Details

#trackerObject (readonly)

rubocop: enable CodeReuse/ActiveRecord



26
27
28
# File 'app/workers/bulk_imports/transform_references_worker.rb', line 26

def tracker
  @tracker
end

Instance Method Details

#perform(object_ids, klass, tracker_id) ⇒ Object

rubocop: disable CodeReuse/ActiveRecord



13
14
15
16
17
18
19
20
21
22
23
# File 'app/workers/bulk_imports/transform_references_worker.rb', line 13

def perform(object_ids, klass, tracker_id)
  @tracker = BulkImports::Tracker.find_by_id(tracker_id)

  return unless tracker

  project = tracker.entity.project

  klass.constantize.where(id: object_ids, project: project).find_each do |object|
    transform_and_save(object)
  end
end