Break Project#perform_housekeeping in two methods

parent 087c1056
...@@ -350,7 +350,10 @@ class Project < ActiveRecord::Base ...@@ -350,7 +350,10 @@ class Project < ActiveRecord::Base
project.run_after_commit { add_import_job } project.run_after_commit { add_import_job }
end end
after_transition started: :finished, do: :perform_housekeeping after_transition started: :finished do |project, _|
project.reset_cache_and_import_attrs
project.perform_housekeeping
end
end end
class << self class << self
...@@ -502,17 +505,22 @@ class Project < ActiveRecord::Base ...@@ -502,17 +505,22 @@ class Project < ActiveRecord::Base
end end
end end
def reset_cache_and_import_attrs
run_after_commit do
ProjectCacheWorker.perform_async(self.id)
end
remove_import_data
end
def perform_housekeeping def perform_housekeeping
run_after_commit do run_after_commit do
begin begin
ProjectCacheWorker.perform_async(self.id)
Projects::HousekeepingService.new(self).execute Projects::HousekeepingService.new(self).execute
rescue Projects::HousekeepingService::LeaseTaken => e rescue Projects::HousekeepingService::LeaseTaken => e
Rails.logger.info("Could not perform housekeeping for project #{self.path_with_namespace} (#{self.id}): #{e}") Rails.logger.info("Could not perform housekeeping for project #{self.path_with_namespace} (#{self.id}): #{e}")
end end
end end
remove_import_data
end end
def remove_import_data def remove_import_data
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment