class Arango::Replication
Attributes
adaptivePolling[RW]
autoResync[RW]
autoResyncRetries[RW]
chunkSize[RW]
connectTimeout[RW]
connectionRetryWaitTime[RW]
endpoint[RW]
idleMaxWaitTime[RW]
idleMinWaitTime[RW]
includeSystem[RW]
incremental[RW]
initialSyncMaxWaitTime[RW]
master[R]
maxConnectRetries[RW]
password[RW]
requestTimeout[RW]
requireFromPresent[RW]
restrictCollections[R]
restrictType[R]
slave[R]
username[RW]
verbose[RW]
Public Class Methods
new(master:, slave:, includeSystem: true, initialSyncMaxWaitTime: nil, incremental: nil, restrictCollections: nil, connectTimeout: nil, autoResync: nil, idleMinWaitTime: nil, requestTimeout: nil, requireFromPresent: nil, idleMaxWaitTime: nil, restrictType: nil, maxConnectRetries: nil, adaptivePolling: nil, connectionRetryWaitTime: nil, autoResyncRetries: nil, chunkSize: nil, verbose: nil)
click to toggle source
# File lib/Replication.rb, line 7 def initialize(master:, slave:, includeSystem: true, initialSyncMaxWaitTime: nil, incremental: nil, restrictCollections: nil, connectTimeout: nil, autoResync: nil, idleMinWaitTime: nil, requestTimeout: nil, requireFromPresent: nil, idleMaxWaitTime: nil, restrictType: nil, maxConnectRetries: nil, adaptivePolling: nil, connectionRetryWaitTime: nil, autoResyncRetries: nil, chunkSize: nil, verbose: nil) assign_master(master) assign_slave(slave) assign_restrictType(restrictType) assign_restrictCollections(restrictCollections) @includeSytem = includeSystem @initialSyncMaxWaitTime = initialSyncMaxWaitTime, @incremental = incremental @connectTimeout = connectTimeout @autoResync = autoResync @idleMinWaitTime = idleMinWaitTime @requestTimeout = requestTimeout @requireFromPresent = requireFromPresent @idleMaxWaitTime = idleMaxWaitTime @maxConnectRetries = maxConnectRetries @adaptivePolling = adaptivePolling @connectionRetryWaitTime = connectionRetryWaitTime @autoResyncRetries = autoResyncRetries @chunkSize = chunkSize @verbose = verbose end
Public Instance Methods
configuration()
click to toggle source
# File lib/Replication.rb, line 175 def configuration @slave.request("GET", "_api/replication/applier-config") end
enslave()
click to toggle source
ENSLAVING
# File lib/Replication.rb, line 135 def enslave body = { "username": @master_server.username, "password": @master_server.password, "includeSystem": @includeSystem, "endpoint": @server.endpoint, "initialSyncMaxWaitTime": @initialSyncMaxWaitTime, "database": @database.name, "verbose": verbose, "connectTimeout": @connectTimeout, "autoResync": @autoResync, "idleMinWaitTime": @idleMinWaitTime, "requestTimeout": @requestTimeout, "requireFromPresent": @requireFromPresent, "idleMaxWaitTime": @idleMaxWaitTime, "restrictType": @restrictType, "maxConnectRetries": @maxConnectRetries, "adaptivePolling": @adaptivePolling, "connectionRetryWaitTime": @connectionRetryWaitTime, "restrictCollections": @restrictCollections, "autoResyncRetries": @autoResyncRetries, "chunkSize": @chunkSize } @slave.request("PUT", "_api/replication/make-slave", body: body) end
logger()
click to toggle source
LOGGER
# File lib/Replication.rb, line 209 def logger @slave.request("GET", "_api/replication/logger-state") end
loggerFirstTick()
click to toggle source
# File lib/Replication.rb, line 223 def loggerFirstTick @slave.request("GET", "_api/replication/logger-first-tick", key: :firstTick) end
loggerFollow(from: nil, to: nil, chunkSize: nil, includeSystem: nil)
click to toggle source
# File lib/Replication.rb, line 213 def loggerFollow(from: nil, to: nil, chunkSize: nil, includeSystem: nil) query = { "from": from, "to": to, "chunkSize": chunkSize, "includeSystem": includeSystem } @slave.request("GET", "_api/replication/logger-follow", query: query) end
loggerRangeTick()
click to toggle source
# File lib/Replication.rb, line 227 def loggerRangeTick @slave.request("GET", "_api/replication/logger-tick-ranges") end
master=(master)
click to toggle source
# File lib/Replication.rb, line 43 def master=(master) satisfy_class?(master, [Arango::Database]) @master = master @master_server = @master.server end
Also aliased as: assign_master
modify()
click to toggle source
# File lib/Replication.rb, line 179 def modify body = { "username": @master_server.username, "password": @master_server.password, "endpoint": @master_server.endpoint, "database": @master.name, "verbose": @verbose, "autoResync": @autoResync, "autoStart": @autoStart, "chunkSize": @chunkSize, "includeSystem": @includeSystem, "connectTimeout": @connectTimeout, "idleMinWaitTime": @idleMinWaitTime, "requestTimeout": @requestTimeout, "restrictType": @restrictType, "requireFromPresent": @requireFromPresent, "idleMaxWaitTime": @idleMaxWaitTime, "maxConnectRetries": @maxConnectRetries, "adaptivePolling": @adaptivePolling, "initialSyncMaxWaitTime": @initialSyncMaxWaitTime, "connectionRetryWaitTime": @connectionRetryWaitTime, "restrictCollections": @restrictCollections, "autoResyncRetries": @autoResyncRetries } @slave.request("PUT", "_api/replication/applier-config", body: body) end
Also aliased as: modifyReplication
restrictCollections=(restrictCollections)
click to toggle source
# File lib/Replication.rb, line 63 def restrictCollections=(restrictCollections) if restrictCollections.nil? @restrictCollections = nil else satisfy_class?(restrictCollections, [Arango::Collection, String], true) @restrictCollections = restrictCollections.map do |v| case v when String v when Arango::Collection v.name end end end end
Also aliased as: assign_restrictCollections
restrictType=(restrictType)
click to toggle source
# File lib/Replication.rb, line 57 def restrictType=(restrictType) satisfy_category?(restrictType, ["include", "exclude", nil]) @restrictType = restrictType end
Also aliased as: assign_restrictType
serverId()
click to toggle source
SERVER-ID
# File lib/Replication.rb, line 233 def serverId @slave.request("GET", "_api/replication/server-id", key: :serverId) end
slave=(slave)
click to toggle source
# File lib/Replication.rb, line 50 def slave=(slave) satisfy_class?(slave, [Arango::Database]) @slave = slave @slave_server = @slave.server end
Also aliased as: assign_slave
start(from: nil)
click to toggle source
REPLICATION
# File lib/Replication.rb, line 163 def start(from: nil) @slave.request("PUT", "_api/replication/applier-start", query: {from: from}) end
state()
click to toggle source
# File lib/Replication.rb, line 171 def state @slave.request("GET", "_api/replication/applier-state") end
stop()
click to toggle source
# File lib/Replication.rb, line 167 def stop @slave.request("PUT", "_api/replication/applier-stop") end
sync()
click to toggle source
SYNCRONISATION
# File lib/Replication.rb, line 118 def sync body = { "username": @master_server.username, "password": @master_server.password, "endpoint": @master_server.endpoint, "database": @master.name, "restrictType": @restrictType, "incremental": @incremental, "includeSystem": @includeSystem, "restrictCollections": @restrictCollections, "initialSyncMaxWaitTime": @initialSyncMaxWaitTime } @slave.request("PUT", "_api/replication/sync", body: body) end
to_h()
click to toggle source
# File lib/Replication.rb, line 81 def to_h master { "master": { "database": @master.name, "username": @master_server.username, "endpoint": @master_server.endpoint }, "slave": { "database": @slave.name, "username": @slave_server.username, "endpoint": @slave_server.endpoint }, "options": { "includeSytem": @includeSystem, "initialSyncMaxWaitTime": @initialSyncMaxWaitTime, "restrictType": @restrictType, "incremental": @incremental, "restrictCollections": @restrictCollections, "verbose": @verbose, "connectTimeout": @connectTimeout, "autoResync": @autoResync, "idleMinWaitTime": @idleMinWaitTime, "requestTimeout": @requestTimeout, "requireFromPresent": @requireFromPresent, "idleMaxWaitTime": @idleMaxWaitTime, "maxConnectRetries": @maxConnectRetries, "adaptivePolling": @adaptivePolling, "connectionRetryWaitTime": @connectionRetryWaitTime, "autoResyncRetries": @autoResyncRetries, "chunkSize": @chunkSize }.delete_if{|k,v| v.nil?} } end