diff options
Diffstat (limited to 'app/workers/pages/invalidate_domain_cache_worker.rb')
-rw-r--r-- | app/workers/pages/invalidate_domain_cache_worker.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/app/workers/pages/invalidate_domain_cache_worker.rb b/app/workers/pages/invalidate_domain_cache_worker.rb new file mode 100644 index 00000000000..63b6f5c05b5 --- /dev/null +++ b/app/workers/pages/invalidate_domain_cache_worker.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module Pages + class InvalidateDomainCacheWorker + include Gitlab::EventStore::Subscriber + + idempotent! + + feature_category :pages + + def handle_event(event) + if event.data[:project_id] + ::Gitlab::Pages::CacheControl + .for_project(event.data[:project_id]) + .clear_cache + end + + if event.data[:root_namespace_id] + ::Gitlab::Pages::CacheControl + .for_namespace(event.data[:root_namespace_id]) + .clear_cache + end + end + end +end |