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:
authorKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-12-16 18:29:11 +0300
committerKim "BKC" Carlbäcker <kim.carlbacker@gmail.com>2016-12-16 18:29:11 +0300
commitf6263e2ee7288ff1b53b551053911f31ddf846b7 (patch)
treefd7a2a3f0b49943316f53a96b90a76a134aa3872 /app/models/ci
parent94b2df022449352953a2d5e607de1a3d31e88b47 (diff)
Don't use redis.multi
Diffstat (limited to 'app/models/ci')
-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