summaryrefslogtreecommitdiff
path: root/app/workers/git_garbage_collect_worker.rb
blob: 2fa3c838f551c7248b20b9da2247e78ad42ee768 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class GitGarbageCollectWorker
  include Sidekiq::Worker
  include Gitlab::ShellAdapter

  sidekiq_options queue: :gitlab_shell, retry: false

  def perform(project_id)
    project = Project.find(project_id)

    gitlab_shell.gc(project.repository_storage_path, project.path_with_namespace)
    # Expire the branch cache in case garbage collection caused a ref lookup to fail
    project.repository.after_create_branch
  end
end