class RRRSpec::WorkerLog
Attributes
key[R]
Public Class Methods
create(worker, taskset)
click to toggle source
Public: Create a new worker_log. This method will call Taskset#add_worker_log
# File lib/rrrspec/redis_models.rb, line 482 def self.create(worker, taskset) worker_log_key = RRRSpec.make_key(taskset.key, worker.key) RRRSpec.redis.hmset( worker_log_key, 'worker', worker.key, 'taskset', taskset.key, 'started_at', Time.zone.now.to_s, ) worker_log = new(worker_log_key) taskset.add_worker_log(worker_log) return worker_log end
new(worker_log_key)
click to toggle source
# File lib/rrrspec/redis_models.rb, line 476 def initialize(worker_log_key) @key = worker_log_key end
Public Instance Methods
append_log(string)
click to toggle source
Public: Append a line to the log
# File lib/rrrspec/redis_models.rb, line 546 def append_log(string) RRRSpec.redis.append(RRRSpec.make_key(key, 'log'), string) end
expire(sec)
click to toggle source
finished_at()
click to toggle source
Public: Returns the finished_at
# File lib/rrrspec/redis_models.rb, line 530 def finished_at v = RRRSpec.redis.hget(key, 'finished_at') v.present? ? Time.zone.parse(v) : nil end
log()
click to toggle source
Public: Logs happend in worker
# File lib/rrrspec/redis_models.rb, line 541 def log RRRSpec.redis.get(RRRSpec.make_key(key, 'log')) || "" end
rsync_finished_at()
click to toggle source
Public: Returns the rsync_finished_at
# File lib/rrrspec/redis_models.rb, line 508 def rsync_finished_at v = RRRSpec.redis.hget(key, 'rsync_finished_at') v.present? ? Time.zone.parse(v) : nil end
set_finished_time()
click to toggle source
Public: Set finished_at
time if it is empty
# File lib/rrrspec/redis_models.rb, line 536 def set_finished_time RRRSpec.redis.hsetnx(key, 'finished_at', Time.zone.now.to_s) end
set_rsync_finished_time()
click to toggle source
Public: Set rsync_finished_at
time
# File lib/rrrspec/redis_models.rb, line 514 def set_rsync_finished_time RRRSpec.redis.hset(key, 'rsync_finished_at', Time.zone.now.to_s) end
set_setup_finished_time()
click to toggle source
Public: Set setup_finished_at
time
# File lib/rrrspec/redis_models.rb, line 525 def set_setup_finished_time RRRSpec.redis.hset(key, 'setup_finished_at', Time.zone.now.to_s) end
setup_finished_at()
click to toggle source
Public: Returns the setup_finished_at
# File lib/rrrspec/redis_models.rb, line 519 def setup_finished_at v = RRRSpec.redis.hget(key, 'setup_finished_at') v.present? ? Time.zone.parse(v) : nil end
started_at()
click to toggle source
Public: Returns the started_at
# File lib/rrrspec/redis_models.rb, line 499 def started_at v = RRRSpec.redis.hget(key, 'started_at') v.present? ? Time.zone.parse(v) : nil end
to_h()
click to toggle source
¶ ↑
Serialize
# File lib/rrrspec/redis_models.rb, line 553 def to_h h = RRRSpec.redis.hgetall(key) h['key'] = key h['log'] = log h['worker'] = { 'key' => h['worker'] } h['taskset'] = { 'key' => h['taskset'] } RRRSpec.convert_if_present(h, 'started_at') { |v| Time.zone.parse(v) } RRRSpec.convert_if_present(h, 'rsync_finished_at') { |v| Time.zone.parse(v) } RRRSpec.convert_if_present(h, 'setup_finished_at') { |v| Time.zone.parse(v) } RRRSpec.convert_if_present(h, 'finished_at') { |v| Time.zone.parse(v) } h end
to_json(options=nil)
click to toggle source
# File lib/rrrspec/redis_models.rb, line 566 def to_json(options=nil) to_h.to_json(options) end