module Octopus::ReplicationTracking::ProxyMethods::InstanceMethods

Define Instance methods

Public Instance Methods

master_shard?() click to toggle source
# File lib/octopus/replication_tracking/proxy_methods.rb, line 11
def master_shard?
  current_shard == Octopus.master_shard
end
replication_position() click to toggle source
# File lib/octopus/replication_tracking/proxy_methods.rb, line 15
def replication_position
  master_shard? ? master_replication_status : slave_replication_status
end

Private Instance Methods

master_replication_status() click to toggle source
# File lib/octopus/replication_tracking/proxy_methods.rb, line 21
def master_replication_status
  status_result = execute('SHOW MASTER STATUS;').first
  {
    file_name: status_result.try(:[], 0),
    position: status_result.try(:[], 1)
  }
end
slave_replication_status() click to toggle source
# File lib/octopus/replication_tracking/proxy_methods.rb, line 29
def slave_replication_status
  status_result = execute('SHOW SLAVE STATUS;').first
  {
    file_name: status_result.try(:[], 5),
    position: status_result.try(:[], 6)
  }
end