Commit da0c543e authored by Kamil Trzcinski's avatar Kamil Trzcinski Committed by Z.J. van de Weg

Add MISSING e-tag refresh of resource for Job, and Pipeline Graph

parent 33961ee4
...@@ -89,6 +89,7 @@ class CommitStatus < ActiveRecord::Base ...@@ -89,6 +89,7 @@ class CommitStatus < ActiveRecord::Base
else else
PipelineUpdateWorker.perform_async(pipeline.id) PipelineUpdateWorker.perform_async(pipeline.id)
end end
ExpireJobCacheWorker.perform_async(pipeline.id, commit_status.id)
end end
end end
end end
......
class ExpireJobCacheWorker
include Sidekiq::Worker
include BuildQueue
def perform(pipeline_id, job_id)
job = CommitStatus.joins(:pipeline, :project).find_by(id: job)
return unless job
pipeline = job.pipeline
project = job.project
store.touch(project_pipeline_path(project, pipeline))
store.touch(project_job_path(project, job))
end
private
def project_pipeline_path(project, pipeline)
Gitlab::Routing.url_helpers.namespace_project_pipeline_path(
project.namespace,
project,
pipeline,
format: :json)
end
def project_job_path(project, job)
Gitlab::Routing.url_helpers.namespace_project_build_path(
project.namespace,
project,
job.id,
format: :json)
end
def store
@store ||= Gitlab::EtagCaching::Store.new
end
end
...@@ -10,6 +10,7 @@ class ExpirePipelineCacheWorker ...@@ -10,6 +10,7 @@ class ExpirePipelineCacheWorker
store = Gitlab::EtagCaching::Store.new store = Gitlab::EtagCaching::Store.new
store.touch(project_pipelines_path(project)) store.touch(project_pipelines_path(project))
store.touch(project_pipeline_path(project, pipeline))
store.touch(commit_pipelines_path(project, pipeline.commit)) if pipeline.commit store.touch(commit_pipelines_path(project, pipeline.commit)) if pipeline.commit
store.touch(new_merge_request_pipelines_path(project)) store.touch(new_merge_request_pipelines_path(project))
each_pipelines_merge_request_path(project, pipeline) do |path| each_pipelines_merge_request_path(project, pipeline) do |path|
...@@ -28,6 +29,14 @@ class ExpirePipelineCacheWorker ...@@ -28,6 +29,14 @@ class ExpirePipelineCacheWorker
format: :json) format: :json)
end end
def project_pipeline_path(project, pipeline)
Gitlab::Routing.url_helpers.namespace_project_pipeline_path(
project.namespace,
project,
pipeline,
format: :json)
end
def commit_pipelines_path(project, commit) def commit_pipelines_path(project, commit)
Gitlab::Routing.url_helpers.pipelines_namespace_project_commit_path( Gitlab::Routing.url_helpers.pipelines_namespace_project_commit_path(
project.namespace, project.namespace,
......
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