Mongo
PHP Manual

Mongo::getHosts

(PECL mongo >=1.1.0)

Mongo::getHosts関連づけられたすべてのホストの状態を更新する

説明

public array Mongo::getHosts ( void )

このメソッドは、レプリカセットへの接続に対してのみ使えます。 レプリカセット内のすべてのホストの状態を返し、接続情報を更新 (ユーザからは見えません) します。

このメソッドは、ドライバが 5 秒おきに自動的にコールします。

読み込みのスレーブへの分散についての情報は、このマニュアルの 問い合わせの節 を参照ください。

パラメータ

この関数にはパラメータはありません。

返り値

セット内のホストに関する情報の配列を返します。 各ホストのホスト名、セット内での id、健康状態 (1 が最高)、稼働時間、 そしてそのホストがプライマリの最新を反映しているかどうかが含まれます。 たとえば、ローカルで稼働しているメンバ 3 台のレプリカセットだとこのようになります。

Array
(
    [ubuntu:27017] => Array
        (
            [_id] => 0
            [name] => ubuntu:27017
            [health] => 1
            [state] => 1
            [stateStr] => PRIMARY
            [optime] => MongoTimestamp Object
                (
                    [sec] => 1
                    [inc] => 1291155754
                )

            [optimeDate] => MongoDate Object
                (
                    [sec] => 1291155754
                    [usec] => 0
                )

            [self] => 1
        )

    [ubuntu:27019] => Array
        (
            [_id] => 2
            [name] => ubuntu:27019
            [health] => 1
            [state] => 2
            [stateStr] => SECONDARY
            [uptime] => 91928
            [optime] => MongoTimestamp Object
                (
                    [sec] => 1
                    [inc] => 1291155754
                )

            [optimeDate] => MongoDate Object
                (
                    [sec] => 1291155754
                    [usec] => 0
                )

            [lastHeartbeat] => MongoDate Object
                (
                    [sec] => 1291158846
                    [usec] => 0
                )

        )

    [ubuntu:27018] => Array
        (
            [_id] => 1
            [name] => ubuntu:27018
            [health] => 1
            [state] => 2
            [stateStr] => SECONDARY
            [uptime] => 91944
            [optime] => MongoTimestamp Object
                (
                    [sec] => 1
                    [inc] => 1291155754
                )

            [optimeDate] => MongoDate Object
                (
                    [sec] => 1291155754
                    [usec] => 0
                )

            [lastHeartbeat] => MongoDate Object
                (
                    [sec] => 1291158846
                    [usec] => 0
                )

        )

)

レプリカセットへの接続ではない場合や接続がまだ初期化されていない場合は NULL を返します。


Mongo
PHP Manual