diff options
author | Toon Claes <toon@gitlab.com> | 2017-04-05 17:36:14 +0300 |
---|---|---|
committer | Kamil Trzcinski <ayufan@ayufan.eu> | 2017-04-07 00:50:37 +0300 |
commit | 9e89c93e167d66644fd771b106be5ce01b899fcf (patch) | |
tree | 2d27a9b525f0cd61dc565b132eafe6ba5cbdf2e4 /app/services/ci | |
parent | 26e24bbe533aaca94a7290509e2d608747b316fa (diff) |
Enable polling for pipelines table other pages
Also poll for pipeline changes on:
- Pipeline table on commit page
- Pipeline table on merge request page
- Pipeline table on new merge request page
Diffstat (limited to 'app/services/ci')
-rw-r--r-- | app/services/ci/expire_pipeline_cache_service.rb | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/app/services/ci/expire_pipeline_cache_service.rb b/app/services/ci/expire_pipeline_cache_service.rb index 95afe72e735..983b30056e3 100644 --- a/app/services/ci/expire_pipeline_cache_service.rb +++ b/app/services/ci/expire_pipeline_cache_service.rb @@ -1,9 +1,15 @@ module Ci class ExpirePipelineCacheService < BaseService + attr_reader :pipeline + def execute(pipeline) @pipeline = pipeline + store = Gitlab::EtagCaching::Store.new - Gitlab::EtagCaching::Store.new.touch(project_pipelines_path) + store.touch(project_pipelines_path) + store.touch(commit_pipelines_path) + store.touch(new_merge_request_pipelines_path) + merge_requests_pipelines_paths.each { |path| store.touch(path) } end private @@ -14,5 +20,30 @@ module Ci project, format: :json) end + + def commit_pipelines_path + Gitlab::Routing.url_helpers.pipelines_namespace_project_commit_path( + project.namespace, + project, + pipeline.commit.id, + format: :json) + end + + def new_merge_request_pipelines_path + Gitlab::Routing.url_helpers.new_namespace_project_merge_request_path( + project.namespace, + project, + format: :json) + end + + def merge_requests_pipelines_paths + pipeline.merge_requests.collect do |merge_request| + Gitlab::Routing.url_helpers.pipelines_namespace_project_merge_request_path( + project.namespace, + project, + merge_request, + format: :json) + end + end end end |