diff options
author | Imre Farkas <ifarkas@gitlab.com> | 2019-02-07 15:36:50 +0100 |
---|---|---|
committer | Imre Farkas <ifarkas@gitlab.com> | 2019-02-14 11:14:00 +0100 |
commit | a0e97b1c6a786462733a73b681cff60b103d729c (patch) | |
tree | 4d687deaffeed2400daa166b188c8d49a07b5fff /app/services/users | |
parent | c8fe0d6a8a76ee5865c71b5b6627608e5075797d (diff) | |
download | gitlab-ce-a0e97b1c6a786462733a73b681cff60b103d729c.tar.gz |
Optimize Redis usage in User::ActivityServiceif-24642-activity_service_optimization
Avoid checking Redis when User#last_activity_on is already up to date.
Diffstat (limited to 'app/services/users')
-rw-r--r-- | app/services/users/activity_service.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/app/services/users/activity_service.rb b/app/services/users/activity_service.rb index db03ba8756f..e50840a9158 100644 --- a/app/services/users/activity_service.rb +++ b/app/services/users/activity_service.rb @@ -26,12 +26,15 @@ module Users def record_activity return if Gitlab::Database.read_only? + today = Date.today + + return if @user.last_activity_on == today + lease = Gitlab::ExclusiveLease.new("acitvity_service:#{@user.id}", timeout: LEASE_TIMEOUT) return unless lease.try_obtain - @user.update_attribute(:last_activity_on, Date.today) - Rails.logger.debug("Recorded activity: #{@activity} for User ID: #{@user.id} (username: #{@user.username})") + @user.update_attribute(:last_activity_on, today) end end end |