Class: Barrage::Generators::RedisWorkerId::Finalizer

Inherits:
Object
  • Object
show all
Defined in:
lib/barrage/generators/redis_worker_id.rb

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ Finalizer

Returns a new instance of Finalizer.

[View source]

42
43
44
45
# File 'lib/barrage/generators/redis_worker_id.rb', line 42

def initialize(data)
  @pid = $$
  @data = data
end

Instance Method Details

#call(*args) ⇒ Object

[View source]

47
48
49
50
51
52
53
54
55
56
# File 'lib/barrage/generators/redis_worker_id.rb', line 47

def call(*args)
  return if @pid != $$
  redis, worker_id, real_ttl = *@data

  if redis.is_a?(Redis) and redis.connected?
    redis.del("barrage:worker:#{worker_id}") if real_ttl > Time.now.to_i

    close_redis_connection(redis)
  end
end