Documentation
¶
Overview ¶
database initialization functionality
Index ¶
Constants ¶
View Source
const ( MasterLockID = 0 HeartbeatMultiplier = 3 )
View Source
const ( DefaultDBName = "gomaster" DefaultHeartbeatFrequency = time.Second * 5 DefaultTableName = "masterlock" DefaultMaxOpenConnections = 4 DefaultMaxWait = time.Second * 5 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MySQLBackend ¶
type MySQLBackend struct {
*MySQLBackendConfig
// contains filtered or unexported fields
}
func NewMySQLBackend ¶
func NewMySQLBackend(cfg *MySQLBackendConfig) *MySQLBackend
func (*MySQLBackend) Connect ¶
func (m *MySQLBackend) Connect() error
func (*MySQLBackend) Lock ¶
func (m *MySQLBackend) Lock(info *backend.MasterInfo) error
func (*MySQLBackend) Status ¶
func (m *MySQLBackend) Status() (*backend.MasterInfo, error)
func (*MySQLBackend) UnLock ¶
func (m *MySQLBackend) UnLock(masterID string) error
func (*MySQLBackend) WriteHeartbeat ¶
func (m *MySQLBackend) WriteHeartbeat(info *backend.MasterInfo) error
type MySQLBackendConfig ¶
type MySQLBackendConfig struct {
// Supply a BaseDSN instead of credentials and host
BaseDSN string
// Supply User Password Host Port instead of a DSN
User string
Password string
Host string
Port int //optional
// Name of the DB to connect to.
// If a name is supplied, a table will be created within that DB.
// If a DB with the supplied name does not exist, and CreateDB is
// set to true, it will be created.
// If a DB name is not supplied, the default DB name will be used.
// It will also attempt to create the DB if the CreateDB bool is
// set to true.
// DB creation is idempotent and can be left enabled if desired.
DBName string
// Optional: table name where the lock will exist (default: masterlock)
TableName string
// Optional: whether to attempt to create the DB
CreateDB bool
// optional params
MaxWait time.Duration
MaxRetries int
MaxOpenConnections int
// Optional: Frequency of master heartbeat write
HeartBeatFreq time.Duration
// Optional: Logger for the mongo backend to use (default: new logrus shim will be created)
Logger log.Logger
// contains filtered or unexported fields
}
Click to show internal directories.
Click to hide internal directories.