Class: RRRSpec::WorkerLog
- Inherits:
-
Object
- Object
- RRRSpec::WorkerLog
- Defined in:
- lib/rrrspec/redis_models.rb
Instance Attribute Summary collapse
-
#key ⇒ Object
readonly
Returns the value of attribute key.
Class Method Summary collapse
-
.create(worker, taskset) ⇒ Object
Public: Create a new worker_log.
Instance Method Summary collapse
-
#append_log(string) ⇒ Object
Public: Append a line to the log.
-
#expire(sec) ⇒ Object
Persistence.
-
#finished_at ⇒ Object
Public: Returns the finished_at.
-
#initialize(worker_log_key) ⇒ WorkerLog
constructor
A new instance of WorkerLog.
-
#log ⇒ Object
Public: Logs happend in worker.
-
#rsync_finished_at ⇒ Object
Public: Returns the rsync_finished_at.
-
#set_finished_time ⇒ Object
Public: Set finished_at time if it is empty.
-
#set_rsync_finished_time ⇒ Object
Public: Set rsync_finished_at time.
-
#set_setup_finished_time ⇒ Object
Public: Set setup_finished_at time.
-
#setup_finished_at ⇒ Object
Public: Returns the setup_finished_at.
-
#started_at ⇒ Object
Public: Returns the started_at.
-
#to_h ⇒ Object
Serialize.
- #to_json(options = nil) ⇒ Object
Constructor Details
#initialize(worker_log_key) ⇒ WorkerLog
Returns a new instance of WorkerLog.
476 477 478 |
# File 'lib/rrrspec/redis_models.rb', line 476 def initialize(worker_log_key) @key = worker_log_key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
474 475 476 |
# File 'lib/rrrspec/redis_models.rb', line 474 def key @key end |
Class Method Details
.create(worker, taskset) ⇒ Object
Public: Create a new worker_log. This method will call Taskset#add_worker_log
482 483 484 485 486 487 488 489 490 491 492 493 |
# 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 |
Instance Method Details
#append_log(string) ⇒ Object
Public: Append a line to the log
546 547 548 |
# File 'lib/rrrspec/redis_models.rb', line 546 def append_log(string) RRRSpec.redis.append(RRRSpec.make_key(key, 'log'), string) end |
#expire(sec) ⇒ Object
Persistence
573 574 575 576 |
# File 'lib/rrrspec/redis_models.rb', line 573 def expire(sec) RRRSpec.redis.expire(key, sec) RRRSpec.redis.expire(RRRSpec.make_key(key, 'log'), sec) end |
#finished_at ⇒ Object
Public: Returns the finished_at
530 531 532 533 |
# 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 ⇒ Object
Public: Logs happend in worker
541 542 543 |
# File 'lib/rrrspec/redis_models.rb', line 541 def log RRRSpec.redis.get(RRRSpec.make_key(key, 'log')) || "" end |
#rsync_finished_at ⇒ Object
Public: Returns the rsync_finished_at
508 509 510 511 |
# 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 ⇒ Object
Public: Set finished_at time if it is empty
536 537 538 |
# 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 ⇒ Object
Public: Set rsync_finished_at time
514 515 516 |
# 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 ⇒ Object
Public: Set setup_finished_at time
525 526 527 |
# 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 ⇒ Object
Public: Returns the setup_finished_at
519 520 521 522 |
# 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 ⇒ Object
Public: Returns the started_at
499 500 501 502 |
# 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 ⇒ Object
Serialize
553 554 555 556 557 558 559 560 561 562 563 564 |
# 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) ⇒ Object
566 567 568 |
# File 'lib/rrrspec/redis_models.rb', line 566 def to_json(=nil) to_h.to_json() end |