當前位置: 首頁>>代碼示例>>Golang>>正文


Golang mysqlctl.StopSlave函數代碼示例

本文整理匯總了Golang中github.com/youtube/vitess/go/vt/mysqlctl.StopSlave函數的典型用法代碼示例。如果您正苦於以下問題:Golang StopSlave函數的具體用法?Golang StopSlave怎麽用?Golang StopSlave使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了StopSlave函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: StopSlaveMinimum

// StopSlaveMinimum will stop the slave after it reaches at least the
// provided position. Works both when Vitess manages
// replication or not (using hook if not).
func (agent *ActionAgent) StopSlaveMinimum(ctx context.Context, position myproto.ReplicationPosition, waitTime time.Duration) (myproto.ReplicationPosition, error) {
	if err := agent.MysqlDaemon.WaitMasterPos(position, waitTime); err != nil {
		return myproto.ReplicationPosition{}, err
	}
	if err := mysqlctl.StopSlave(agent.MysqlDaemon, agent.hookExtraEnv()); err != nil {
		return myproto.ReplicationPosition{}, err
	}
	return agent.MysqlDaemon.MasterPosition()
}
開發者ID:hadmagic,項目名稱:vitess,代碼行數:12,代碼來源:agent_rpc_actions.go

示例2: StopSlaveMinimum

// StopSlaveMinimum will stop the slave after it reaches at least the
// provided position. Works both when Vitess manages
// replication or not (using hook if not).
func (agent *ActionAgent) StopSlaveMinimum(ctx context.Context, position string, waitTime time.Duration) (string, error) {
	pos, err := replication.DecodePosition(position)
	if err != nil {
		return "", err
	}
	if err := agent.MysqlDaemon.WaitMasterPos(pos, waitTime); err != nil {
		return "", err
	}
	if err := mysqlctl.StopSlave(agent.MysqlDaemon, agent.hookExtraEnv()); err != nil {
		return "", err
	}
	pos, err = agent.MysqlDaemon.MasterPosition()
	if err != nil {
		return "", err
	}
	return replication.EncodePosition(pos), nil
}
開發者ID:littleyang,項目名稱:vitess,代碼行數:20,代碼來源:agent_rpc_actions.go

示例3: StopSlave

// StopSlave will stop the replication. Works both when Vitess manages
// replication or not (using hook if not).
// Should be called under RPCWrapLock.
func (agent *ActionAgent) StopSlave(ctx context.Context) error {
	// Remember that we were told to stop, so we don't try to
	// restart ourselves (in replication_reporter).
	agent.setSlaveStopped(true)

	// Also tell Orchestrator we're stopped on purpose for some Vitess task.
	// Do this in the background, as it's best-effort.
	go func() {
		if agent.orc == nil {
			return
		}
		if err := agent.orc.BeginMaintenance(agent.Tablet(), "vttablet has been told to StopSlave"); err != nil {
			log.Warningf("Orchestrator BeginMaintenance failed: %v", err)
		}
	}()

	return mysqlctl.StopSlave(agent.MysqlDaemon, agent.hookExtraEnv())
}
開發者ID:jmptrader,項目名稱:vitess,代碼行數:21,代碼來源:rpc_replication.go

示例4: StopReplicationAndGetStatus

// StopReplicationAndGetStatus stops MySQL replication, and returns the
// current status
func (agent *ActionAgent) StopReplicationAndGetStatus(ctx context.Context) (*replicationdatapb.Status, error) {
	// get the status before we stop replication
	rs, err := agent.MysqlDaemon.SlaveStatus()
	if err != nil {
		return nil, fmt.Errorf("before status failed: %v", err)
	}
	if !rs.SlaveIORunning && !rs.SlaveSQLRunning {
		// no replication is running, just return what we got
		return replication.StatusToProto(rs), nil
	}
	if err := mysqlctl.StopSlave(agent.MysqlDaemon, agent.hookExtraEnv()); err != nil {
		return nil, fmt.Errorf("stop slave failed: %v", err)
	}
	// now patch in the current position
	rs.Position, err = agent.MysqlDaemon.MasterPosition()
	if err != nil {
		return nil, fmt.Errorf("after position failed: %v", err)
	}
	return replication.StatusToProto(rs), nil
}
開發者ID:littleyang,項目名稱:vitess,代碼行數:22,代碼來源:agent_rpc_actions.go

示例5: StopSlave

// StopSlave will stop the replication. Works both when Vitess manages
// replication or not (using hook if not).
// Should be called under RPCWrapLock.
func (agent *ActionAgent) StopSlave(ctx context.Context) error {
	return mysqlctl.StopSlave(agent.MysqlDaemon, agent.hookExtraEnv())
}
開發者ID:littleyang,項目名稱:vitess,代碼行數:6,代碼來源:agent_rpc_actions.go


注:本文中的github.com/youtube/vitess/go/vt/mysqlctl.StopSlave函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。