Module: Gitlab::BitbucketServerImport::StageMethods

Constant Summary

Constants included from Import::ResumableImportJob

Import::ResumableImportJob::MAX_RETRIES_AFTER_INTERRUPTION

Instance Method Summary collapse

Instance Method Details

#abort_on_failureObject



61
62
63
# File 'app/workers/concerns/gitlab/bitbucket_server_import/stage_methods.rb', line 61

def abort_on_failure
  false
end

#find_project(id) ⇒ Object



53
54
55
56
57
58
59
# File 'app/workers/concerns/gitlab/bitbucket_server_import/stage_methods.rb', line 53

def find_project(id)
  # If the project has been marked as failed we want to bail out
  # automatically.
  # rubocop: disable CodeReuse/ActiveRecord
  Project.joins_import_state.where(import_state: { status: :started }).find_by_id(id)
  # rubocop: enable CodeReuse/ActiveRecord
end

#perform(project_id) ⇒ Object

project_id - The ID of the GitLab project to import the data into.



32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'app/workers/concerns/gitlab/bitbucket_server_import/stage_methods.rb', line 32

def perform(project_id)
  info(project_id, message: 'starting stage')

  return unless (project = find_project(project_id))

  Import::RefreshImportJidWorker.perform_in_the_future(project_id, jid)

  import(project)

  info(project_id, message: 'stage finished')
rescue StandardError => e
  Gitlab::Import::ImportFailureService.track(
    project_id: project_id,
    exception: e,
    error_source: self.class.name,
    fail_import: abort_on_failure
  )

  raise(e)
end