module Hiatus

Constants

NAMESPACE
VERSION

Public Class Methods

pause(processes, seconds = 1800) click to toggle source
# File lib/hiatus.rb, line 18
def self.pause(processes, seconds = 1800)
  Array(processes).all? { |process| hiatus_update(process, seconds) }
end
paused?(process) click to toggle source
# File lib/hiatus.rb, line 22
def self.paused?(process)
  !!Redis.current.get( namespace(process) )
end
summary() click to toggle source
# File lib/hiatus.rb, line 8
def self.summary
  hiatus_all_keys.map do |key|
    {
      process: key.sub(NAMESPACE, ''),
      seconds_remaining: Redis.current.ttl(key),
      paused_at: Redis.current.get(key)
    }
  end
end

Private Class Methods

hiatus_all_keys() click to toggle source
# File lib/hiatus.rb, line 36
def self.hiatus_all_keys
  Redis.current.keys(NAMESPACE + '*')
end
hiatus_update(process, time) click to toggle source
# File lib/hiatus.rb, line 32
def self.hiatus_update(process, time)
  Redis.current.setex(namespace(process), time, timestamp)
end
namespace(process) click to toggle source
# File lib/hiatus.rb, line 28
def self.namespace(process)
  NAMESPACE + process.to_s
end
timestamp() click to toggle source
# File lib/hiatus.rb, line 40
def self.timestamp
  Redis.current.time.first
end