summaryrefslogtreecommitdiff
path: root/app/controllers/concerns/project_stats_refresh_conflicts_guard.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/concerns/project_stats_refresh_conflicts_guard.rb')
-rw-r--r--app/controllers/concerns/project_stats_refresh_conflicts_guard.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/app/controllers/concerns/project_stats_refresh_conflicts_guard.rb b/app/controllers/concerns/project_stats_refresh_conflicts_guard.rb
new file mode 100644
index 00000000000..a3349997dbd
--- /dev/null
+++ b/app/controllers/concerns/project_stats_refresh_conflicts_guard.rb
@@ -0,0 +1,13 @@
+# frozen_string_literal: true
+
+module ProjectStatsRefreshConflictsGuard
+ extend ActiveSupport::Concern
+
+ def reject_if_build_artifacts_size_refreshing!
+ return unless project.refreshing_build_artifacts_size?
+
+ Gitlab::ProjectStatsRefreshConflictsLogger.warn_request_rejected_during_stats_refresh(project.id)
+
+ render_409('Action temporarily disabled. The project this pipeline belongs to is undergoing stats refresh.')
+ end
+end