Module: RRRSpec::RSyncInfo
- Defined in:
- lib/rrrspec/redis_models.rb
Constant Summary collapse
- WAIT_SERVER_SEC =
10- RSYNC_INFO_KEY =
'rrrspec:rsync_info'
Class Method Summary collapse
-
.exist? ⇒ Boolean
Public: Check its existence.
-
.heartbeat(time) ⇒ Object
Public: Maintain heartbeat.
- .hget_loop(key) ⇒ Object
-
.rsync_dir ⇒ Object
Public.
-
.rsync_options ⇒ Object
Public.
-
.rsync_server ⇒ Object
Public.
Class Method Details
.exist? ⇒ Boolean
Public: Check its existence.
Returns bool
48 49 50 |
# File 'lib/rrrspec/redis_models.rb', line 48 def self.exist? RRRSpec.redis.exists('rrrspec:rsync_info') end |
.heartbeat(time) ⇒ Object
Public: Maintain heartbeat
53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/rrrspec/redis_models.rb', line 53 def self.heartbeat(time) unless Dir.exist?(RRRSpec.configuration.rsync_dir) FileUtils.makedirs(RRRSpec.configuration.rsync_dir) end RRRSpec.redis.multi do RRRSpec.redis.hmset( 'rrrspec:rsync_info', 'rsync_server', RRRSpec.configuration.rsync_server, 'rsync_dir', RRRSpec.configuration.rsync_dir, 'rsync_options', RRRSpec.configuration. ) RRRSpec.redis.expire('rrrspec:rsync_info', time) end end |
.hget_loop(key) ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/rrrspec/redis_models.rb', line 19 def self.hget_loop(key) loop do v = RRRSpec.redis.hget(RSYNC_INFO_KEY, key) return v if v.present? sleep WAIT_SERVER_SEC end end |
.rsync_dir ⇒ Object
Public
33 34 35 |
# File 'lib/rrrspec/redis_models.rb', line 33 def self.rsync_dir hget_loop('rsync_dir') end |
.rsync_options ⇒ Object
Public
38 39 40 |
# File 'lib/rrrspec/redis_models.rb', line 38 def self. hget_loop('rsync_options') end |
.rsync_server ⇒ Object
Public
28 29 30 |
# File 'lib/rrrspec/redis_models.rb', line 28 def self.rsync_server hget_loop('rsync_server') end |