summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-12-16 16:29:11 +0100
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-12-16 16:29:11 +0100
commitf6263e2ee7288ff1b53b551053911f31ddf846b7 (patch)
treefd7a2a3f0b49943316f53a96b90a76a134aa3872
parent94b2df022449352953a2d5e607de1a3d31e88b47 (diff)
downloadgitlab-ce-f6263e2ee7288ff1b53b551053911f31ddf846b7.tar.gz
Don't use redis.multi
-rw-r--r--app/models/ci/runner.rb12
1 files changed, 3 insertions, 9 deletions
diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index a26a67739a1..e880ea9a880 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -21,7 +21,7 @@ module Ci
scope :online, ->() { where('contacted_at > ?', LAST_CONTACT_TIME) }
scope :ordered, ->() { order(id: :desc) }
- after_save :tick_update
+ after_save :tick_runner_queue
scope :owned_or_shared, ->(project_id) do
joins('LEFT JOIN ci_runner_projects ON ci_runner_projects.runner_id = ci_runners.id')
@@ -132,14 +132,8 @@ module Ci
def ensure_runner_queue_value
Gitlab::Redis.with do |redis|
- redis.multi do
- value = redis.get(runner_queue_key)
- if value == ""
- value = Time.new.inspect
- redis.set(runner_queue_key, value, ex: 60.minutes)
- end
- value
- end
+ redis.set(runner_queue_key, value, ex: 60.minutes, nx: true)
+ redis.get(runner_queue_key)
end
end