diff options
author | Josh Frye <joshfng@gmail.com> | 2016-05-31 16:01:16 -0400 |
---|---|---|
committer | Josh Frye <joshfng@gmail.com> | 2016-06-02 11:10:57 -0400 |
commit | 4d9622e7d3e927ad158d26c780fee64c6d8183bc (patch) | |
tree | 05707981c77f8871dd91dccf76d38adc09aa8ff4 | |
parent | 2d05de7af8de9a11f5bdfec0dd3f294a0148d023 (diff) | |
download | gitlab-ce-4d9622e7d3e927ad158d26c780fee64c6d8183bc.tar.gz |
Invalidate cache on build change
-rw-r--r-- | app/models/ci/build.rb | 1 | ||||
-rw-r--r-- | app/models/project.rb | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/app/models/ci/build.rb b/app/models/ci/build.rb index 5e77fda70b9..f597f920a3b 100644 --- a/app/models/ci/build.rb +++ b/app/models/ci/build.rb @@ -313,6 +313,7 @@ module Ci build_data = Gitlab::BuildDataBuilder.build(self) project.execute_hooks(build_data.dup, :build_hooks) project.execute_services(build_data.dup, :build_hooks) + project.expire_running_or_pending_build_count end def artifacts? diff --git a/app/models/project.rb b/app/models/project.rb index 1375dab8c34..3b5ca05dc3f 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1013,8 +1013,12 @@ class Project < ActiveRecord::Base end def running_or_pending_build_count - Rails.cache.fetch(['projects', id, 'running_or_pending_build_count'], expires_in: 60) do + Rails.cache.fetch(['projects', id, 'running_or_pending_build_count']) do builds.running_or_pending.count(:all) end end + + def expire_running_or_pending_build_count + Rails.cache.delete(['projects', id, 'running_or_pending_build_count']) + end end |