You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: sync_packages_worker.rb
    path of file: ./repos/gitlabhq/app/workers/packages/go
    
    the code of the file until where you have to start completion: # frozen_string_literal: true

module Packages
  module Go
    class SyncPackagesWorker
      include ApplicationWorker

      data_consistency :always

      sidekiq_options retry: 3
      include Gitlab::Golang

      queue_namespace :package_repositories
      feature_category :package_registry

      deduplicate :until_executing
      idempotent!

      def perform(project_id, ref_name, path)
       
    
      def perform(project_id, ref_name, path)
        project = Project.find_by_id(project_id)
        return unless project && project.repository.find_tag(ref_name)

        module_name = go_path(project, path)
        mod = Packages::Go::ModuleFinder.new(project, module_name).execute
        return unless mod

        ver = Packages::Go::VersionFinder.new(mod).find(ref_name)
        return unless ver

        Packages::Go::CreatePackageService.new(project, nil, version: ver).execute

      rescue ::Packages::Go::CreatePackageService::GoZipSizeError => ex
        Gitlab::ErrorTracking.log_exception(ex)
      end