31 lines
559 B
Ruby
31 lines
559 B
Ruby
module Jobs
|
|
class ClockworkHeartbeat < Jobs::Base
|
|
|
|
def execute(args)
|
|
$redis.set last_heartbeat_at_key, Time.now.to_i
|
|
end
|
|
|
|
def self.is_clockwork_running?
|
|
if time = ClockworkHeartbeat.new.last_heartbeat_at
|
|
time > 2.minutes.ago
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
def last_heartbeat_at
|
|
if time_int = $redis.get(last_heartbeat_at_key)
|
|
Time.at(time_int.to_i)
|
|
else
|
|
nil
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def last_heartbeat_at_key
|
|
'clockwork:last_heartbeat_at'
|
|
end
|
|
|
|
end
|
|
end |