前のトピック: ハイ アベイラビリティ シナリオでスイッチオーバー: switchover()次のトピック: VSS スナップショット管理 API


ハイ アベイラビリティ シナリオのハートビートの有効化: start_is_alive()

Is-alive は、ノードのステータスを識別するために、レプリカ サーバがマスタ サーバに送信する電子信号です。 ハイ アベイラビリティ シナリオの実行中に、レプリカ サーバは定期的に電子信号(ping)をマスタ サーバに送信します。 デフォルトでは、ping の間隔は 30 秒です。 事前定義された期間(デフォルトでは 300 秒)の経過 後、レプリカ サーバがマスタ サーバに対して ping を実行できない場合、スイッチオーバー イベントをトリガできます。

start_is_alive API 関数を使用すると、is-alive チェックを再開できます。

引数

start_is_alive API 関数には、以下のテーブルに記述されている引数が含まれています。

名前

タイプ

説明

session_id

uint

create_session API をコールすることで返されたセッション ID。

scenario_id

uint

is-alive チェックを開始するシナリオ ID。

execute_sync

bool

この API を同期または非同期でコールするかどうかを指定します。

err_message

out string

この API が失敗する時に、その失敗の理由が含まれます。

戻り値

戻り値のタイプはブールです。 戻り値が true の場合、API は正常に完了しています。 戻り値が false の場合、API は正常に完了しませんでした。 戻り値が false の場合は、メッセージを確認して API が失敗した理由を特定してください。

public bool start_is_alive_example()
        {
            try
            {
                uint scenario_id = _ha_scenario_id;
                string err_messages = "";
                bool execute_sync = true;
                return get_mng().start_is_alive(session_id, scenario_id, execute_sync, out err_messages);
            }
            catch (Exception ex)
            {
                System.Windows.Forms.MessageBox.Show(ex.Message);
            }
            return false;
        }