Class: Clusters::AgentTokens::TrackUsageService
- Inherits:
-
Object
- Object
- Clusters::AgentTokens::TrackUsageService
- Defined in:
- app/services/clusters/agent_tokens/track_usage_service.rb
Constant Summary collapse
- UPDATE_USED_COLUMN_EVERY =
The
UPDATE_USED_COLUMN_EVERYdefines how often the token DB entry can be updated ((40.minutes)..(55.minutes))
Instance Method Summary collapse
- #execute ⇒ Object
-
#initialize(token) ⇒ TrackUsageService
constructor
A new instance of TrackUsageService.
Constructor Details
#initialize(token) ⇒ TrackUsageService
Returns a new instance of TrackUsageService.
11 12 13 |
# File 'app/services/clusters/agent_tokens/track_usage_service.rb', line 11 def initialize(token) @token = token end |
Instance Method Details
#execute ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/services/clusters/agent_tokens/track_usage_service.rb', line 15 def execute track_values = { last_used_at: Time.current.utc } token.cache_attributes(track_values) if can_update_track_values? log_activity_event!(track_values[:last_used_at]) unless agent.connected? # Use update_column so updated_at is skipped token.update_columns(track_values) end rescue StandardError => e Gitlab::ErrorTracking.track_exception(e, agent_id: token.agent_id) ServiceResponse.error(message: e.) end |