Commit 5f9f6ca3 authored by Kamil Trzcinski's avatar Kamil Trzcinski

Add ExclusiveLease to ClearShareRunnerMinutesWorker

parent 9064a33a
......@@ -6,7 +6,7 @@
can?(current_user, :create_pipeline, project)
.shared-runner-quota-message.alert.alert-warning.hidden-xs
= namespace.name
has exceeded their build minutes quota. Pipelines will not run anymore on shared runners.
has exceeded its build minutes quota. Pipelines will not run anymore on shared runners.
.pull-right
= link_to "Don't show again this month", '#', class: 'hide-shared-runner-limit-message-one-month alert-link'
......
class ClearSharedRunnerMinutesWorker
LEASE_TIMEOUT = 3600
include Sidekiq::Worker
include CronjobQueue
def perform
return unless try_obtain_lease
ProjectMetrics.update_all(
shared_runners_minutes: 0,
shared_runners_minutes_last_reset: Time.now)
......@@ -11,4 +15,11 @@ class ClearSharedRunnerMinutesWorker
shared_runners_minutes: 0,
shared_runners_minutes_last_reset: Time.now)
end
private
def try_obtain_lease
Gitlab::ExclusiveLease.new('gitlab_clear_shared_runner_minutes_worker',
timeout: LEASE_TIMEOUT).try_obtain
end
end
......@@ -113,7 +113,6 @@ module API
expose :request_access_enabled
expose :only_allow_merge_if_all_discussions_are_resolved
expose :approvals_before_merge
expose :shared_runners_minutes_limit
end
class Member < UserBasic
......
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