Module: SidekiqAlive

Defined in:
lib/sidekiq_alive.rb,
lib/sidekiq_alive/server.rb,
lib/sidekiq_alive/worker.rb,
lib/sidekiq_alive/version.rb

Defined Under Namespace

Modules: Server Classes: Worker

Constant Summary collapse

VERSION =
"0.1.0"

Class Method Summary collapse

Class Method Details

.alive?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/sidekiq_alive.rb', line 23

def self.alive?
  redis.ttl(liveness_key) == -2 ? false : true
end

.callbackObject



61
62
63
# File 'lib/sidekiq_alive.rb', line 61

def self.callback
  @after_storing_key || proc {} # do nothing
end

.callback=(block) ⇒ Object



57
58
59
# File 'lib/sidekiq_alive.rb', line 57

def self.callback=(block)
  @after_storing_key = block
end

.liveness_keyObject



45
46
47
# File 'lib/sidekiq_alive.rb', line 45

def self.liveness_key
  @liveness_key || "SIDEKIQ::LIVENESS_PROBE_TIMESTAMP"
end

.liveness_key=(key) ⇒ Object



41
42
43
# File 'lib/sidekiq_alive.rb', line 41

def self.liveness_key=(key)
  @liveness_key = key
end

.portObject



37
38
39
# File 'lib/sidekiq_alive.rb', line 37

def self.port
  @port || 7433
end

.port=(port) ⇒ Object



33
34
35
# File 'lib/sidekiq_alive.rb', line 33

def self.port=(port)
  @port = port
end

.redisObject



19
20
21
# File 'lib/sidekiq_alive.rb', line 19

def self.redis
  Sidekiq.redis { |r| r }
end

.setup {|_self| ... } ⇒ Object

CONFIG —————————————

Yields:

  • (_self)

Yield Parameters:

  • _self (SidekiqAlive)

    the object that the method was called on



29
30
31
# File 'lib/sidekiq_alive.rb', line 29

def self.setup
  yield(self)
end

.startObject



5
6
7
8
9
10
11
# File 'lib/sidekiq_alive.rb', line 5

def self.start
  Sidekiq.configure_server do |config|
    config.on(:startup) do
      SidekiqAlive::Server.start
    end
  end
end

.store_alive_keyObject



13
14
15
16
17
# File 'lib/sidekiq_alive.rb', line 13

def self.store_alive_key
  redis.set(liveness_key,
            Time.now.to_i,
            { ex: time_to_live.to_i })
end

.time_to_liveObject



53
54
55
# File 'lib/sidekiq_alive.rb', line 53

def self.time_to_live
  @time_to_live || 10 * 60
end

.time_to_live=(time) ⇒ Object



49
50
51
# File 'lib/sidekiq_alive.rb', line 49

def self.time_to_live=(time)
  @time_to_live = time
end