diff options
Diffstat (limited to 'app/models/clusters/agent_token.rb')
-rw-r--r-- | app/models/clusters/agent_token.rb | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/app/models/clusters/agent_token.rb b/app/models/clusters/agent_token.rb index 27a3cd8d13d..87dba50cd69 100644 --- a/app/models/clusters/agent_token.rb +++ b/app/models/clusters/agent_token.rb @@ -28,8 +28,12 @@ module Clusters cache_attributes(track_values) - # Use update_column so updated_at is skipped - update_columns(track_values) if can_update_track_values? + if can_update_track_values? + log_activity_event!(track_values[:last_used_at]) unless agent.active? + + # Use update_column so updated_at is skipped + update_columns(track_values) + end end private @@ -44,5 +48,14 @@ module Clusters real_last_used_at.nil? || (Time.current - real_last_used_at) >= last_used_at_max_age end + + def log_activity_event!(recorded_at) + agent.activity_events.create!( + kind: :agent_connected, + level: :info, + recorded_at: recorded_at, + agent_token: self + ) + end end end |