summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzegorz@gitlab.com>2018-06-05 10:47:49 +0000
committerGrzegorz Bizon <grzegorz@gitlab.com>2018-06-05 10:47:49 +0000
commit8140ceb555e6c7c25d857296e0da56bd68be0b65 (patch)
treef9a4ae6cfdde618bfc9f9df4037b857f6547dc67 /app
parentf9b00dbd5da7380ce172c56127c6fda15f86d8a5 (diff)
parentb009a0084c67877ba6a808c4c8a81c568598d624 (diff)
downloadgitlab-ce-8140ceb555e6c7c25d857296e0da56bd68be0b65.tar.gz
Merge branch 'optimise-pages-service-calling' into 'master'
Optimise pages service calling See merge request gitlab-org/gitlab-ce!19388
Diffstat (limited to 'app')
-rw-r--r--app/models/ci/build.rb8
-rw-r--r--app/models/project.rb6
-rw-r--r--app/services/pages_service.rb15
3 files changed, 6 insertions, 23 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb
index 75fd55a8f7b..746464d0e21 100644
--- a/app/models/ci/build.rb
+++ b/app/models/ci/build.rb
@@ -144,6 +144,7 @@ module Ci
after_transition any => [:success] do |build|
build.run_after_commit do
BuildSuccessWorker.perform_async(id)
+ PagesWorker.perform_async(:deploy, id) if build.pages_generator?
end
end
@@ -183,6 +184,11 @@ module Ci
pipeline.manual_actions.where.not(name: name)
end
+ def pages_generator?
+ Gitlab.config.pages.enabled &&
+ self.name == 'pages'
+ end
+
def playable?
action? && (manual? || retryable?)
end
@@ -402,8 +408,6 @@ module Ci
build_data = Gitlab::DataBuilder::Build.build(self)
project.execute_hooks(build_data.dup, :job_hooks)
project.execute_services(build_data.dup, :job_hooks)
- PagesService.new(build_data).execute
- project.running_or_pending_build_count(force: true)
end
def browsable_artifacts?
diff --git a/app/models/project.rb b/app/models/project.rb
index 32298fc7f5c..a094dbcb747 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1649,12 +1649,6 @@ class Project < ActiveRecord::Base
import_state.update_column(:jid, nil)
end
- def running_or_pending_build_count(force: false)
- Rails.cache.fetch(['projects', id, 'running_or_pending_build_count'], force: force) do
- builds.running_or_pending.count(:all)
- end
- end
-
# Lazy loading of the `pipeline_status` attribute
def pipeline_status
@pipeline_status ||= Gitlab::Cache::Ci::ProjectPipelineStatus.load_for_project(self)
diff --git a/app/services/pages_service.rb b/app/services/pages_service.rb
deleted file mode 100644
index 446eeb34d3b..00000000000
--- a/app/services/pages_service.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-class PagesService
- attr_reader :data
-
- def initialize(data)
- @data = data
- end
-
- def execute
- return unless Settings.pages.enabled
- return unless data[:build_name] == 'pages'
- return unless data[:build_status] == 'success'
-
- PagesWorker.perform_async(:deploy, data[:build_id])
- end
-end