Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2019-02-07 17:36:50 +0300
committerImre Farkas <ifarkas@gitlab.com>2019-02-14 13:14:00 +0300
commita0e97b1c6a786462733a73b681cff60b103d729c (patch)
tree4d687deaffeed2400daa166b188c8d49a07b5fff /app/services/users
parentc8fe0d6a8a76ee5865c71b5b6627608e5075797d (diff)
Optimize Redis usage in User::ActivityService
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.rb7
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