1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Refactor redis usage to avoid nil result from multi, see redis/redis-rb#490

This commit is contained in:
Mike Perham 2014-12-18 09:15:52 -08:00
parent c4fc6dad68
commit ce3a26d5a0
2 changed files with 7 additions and 6 deletions

View file

@ -2,6 +2,7 @@ HEAD
-----------
- Log Sidekiq Pro's Batch ID if available [#2076]
- Refactor Processor Redis usage to avoid redis/redis-rb#490 [#]
3.3.0

View file

@ -98,26 +98,26 @@ module Sidekiq
yield
rescue Exception
retry_and_suppress_exceptions do
Sidekiq.redis do |conn|
failed = "stat:failed:#{Time.now.utc.to_date}"
result = conn.multi do
Sidekiq.redis do |conn|
conn.multi do
conn.incrby("stat:failed", 1)
conn.incrby(failed, 1)
conn.expire(failed, STATS_TIMEOUT)
end
conn.expire(failed, STATS_TIMEOUT) if result.last == 1
end
end
raise
ensure
retry_and_suppress_exceptions do
Sidekiq.redis do |conn|
processed = "stat:processed:#{Time.now.utc.to_date}"
result = conn.multi do
Sidekiq.redis do |conn|
conn.multi do
conn.hdel("#{identity}:workers", thread_identity)
conn.incrby("stat:processed", 1)
conn.incrby(processed, 1)
conn.expire(processed, STATS_TIMEOUT)
end
conn.expire(processed, STATS_TIMEOUT) if result.last == 1
end
end
end