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.
508 509 510 |
# File 'lib/rrrspec/redis_models.rb', line 508 def initialize(worker_log_key) @key = worker_log_key end |
Instance Attribute Details
#key ⇒ Object (readonly)
Returns the value of attribute key.
506 507 508 |
# File 'lib/rrrspec/redis_models.rb', line 506 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
514 515 516 517 518 519 520 521 522 523 524 525 |
# File 'lib/rrrspec/redis_models.rb', line 514 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
578 579 580 |
# File 'lib/rrrspec/redis_models.rb', line 578 def append_log(string) RRRSpec.redis.append(RRRSpec.make_key(key, 'log'), string) end |
#expire(sec) ⇒ Object
Persistence
605 606 607 608 |
# File 'lib/rrrspec/redis_models.rb', line 605 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
562 563 564 565 |
# File 'lib/rrrspec/redis_models.rb', line 562 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
573 574 575 |
# File 'lib/rrrspec/redis_models.rb', line 573 def log RRRSpec.redis.get(RRRSpec.make_key(key, 'log')) || "" end |
#rsync_finished_at ⇒ Object
Public: Returns the rsync_finished_at
540 541 542 543 |
# File 'lib/rrrspec/redis_models.rb', line 540 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
568 569 570 |
# File 'lib/rrrspec/redis_models.rb', line 568 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
546 547 548 |
# File 'lib/rrrspec/redis_models.rb', line 546 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
557 558 559 |
# File 'lib/rrrspec/redis_models.rb', line 557 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
551 552 553 554 |
# File 'lib/rrrspec/redis_models.rb', line 551 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
531 532 533 534 |
# File 'lib/rrrspec/redis_models.rb', line 531 def started_at v = RRRSpec.redis.hget(key, 'started_at') v.present? ? Time.zone.parse(v) : nil end |
#to_h ⇒ Object
Serialize
585 586 587 588 589 590 591 592 593 594 595 596 |
# File 'lib/rrrspec/redis_models.rb', line 585 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
598 599 600 |
# File 'lib/rrrspec/redis_models.rb', line 598 def to_json(=nil) to_h.to_json() end |