라이브러리

[PHP] MongoDBDriverMonitoringCommandSubscriber::commandSucceeded - 성공적인 명령에 대한 알림 방법




MongoDB Driver Monitoring Command Subscriber

MongoDB Driver Monitoring Command Subscriber는 MongoDB Driver에서 제공하는 기능 중 하나입니다. 이 기능은 MongoDB Driver가 수행하는 명령어에 대한 이벤트를 수집하고, 분석할 수 있도록 해줍니다. 이 기능을 사용하면 MongoDB Driver의 성능을 분석하고, 문제를 해결할 수 있습니다.

MongoDBDriverMonitoringCommandSubscriber::commandSucceeded

`commandSucceeded` 메소드는 MongoDB Driver가 명령어를 성공적으로 수행했을 때 호출되는 메소드입니다. 이 메소드는 다음과 같은 정보를 제공합니다.

* `commandName`: 수행된 명령어의 이름
* `command`: 수행된 명령어의 내용
* `reply`: 명령어의 결과
* `timeTaken`: 명령어를 수행하는 데 걸린 시간

이 메소드는 MongoDB Driver의 성능을 분석하고, 문제를 해결할 수 있도록 도와줍니다.

예제

다음은 `MongoDBDriverMonitoringCommandSubscriber::commandSucceeded` 메소드를 사용하는 예제입니다.

#hostingforum.kr
php

use MongoDBDriverMonitoringCommandSubscriber;

use MongoDBDriverMonitoringCommandSucceededEvent;

use MongoDBDriverMonitoringCommandStartedEvent;

use MongoDBDriverMonitoringCommandFailedEvent;



class MyCommandSubscriber implements CommandSubscriber

{

    public function commandSucceeded(CommandSucceededEvent $event)

    {

        echo "명령어 수행 성공
";

        echo "명령어 이름: " . $event->getCommandName() . "
";

        echo "명령어 내용: " . json_encode($event->getCommand()) . "
";

        echo "명령어 결과: " . json_encode($event->getReply()) . "
";

        echo "명령어 수행 시간: " . $event->getTimeTaken() . "초
";

    }



    public function commandStarted(CommandStartedEvent $event)

    {

        echo "명령어 수행 시작
";

        echo "명령어 이름: " . $event->getCommandName() . "
";

        echo "명령어 내용: " . json_encode($event->getCommand()) . "
";

    }



    public function commandFailed(CommandFailedEvent $event)

    {

        echo "명령어 수행 실패
";

        echo "명령어 이름: " . $event->getCommandName() . "
";

        echo "명령어 내용: " . json_encode($event->getCommand()) . "
";

        echo "명령어 결과: " . json_encode($event->getReply()) . "
";

    }

}



$mongoClient = new MongoDBClient("mongodb://localhost:27017");

$mySubscriber = new MyCommandSubscriber();



$mongoClient->getServerList()->getServer($mongoClient->getServerList()->getPrimary())->getDatabase("mydb")->getCollection("mycollection")->watch([

    'fullDocument' => true,

    'pipeline' => [

        [

            '$match' => [

                'operationType' => 'insert'

            ]

        ]

    ],

    'fullDocument' => [

        '$changeStream' => [

            'pipeline' => [

                [

                    '$match' => [

                        'operationType' => 'insert'

                    ]

                ]

            ]

        ]

    ]

], $mySubscriber);



이 예제에서는 `MyCommandSubscriber` 클래스를 정의하고, `commandSucceeded` 메소드를 오버라이딩합니다. `commandSucceeded` 메소드는 명령어 수행 성공 시 호출되는 메소드입니다. 이 메소드는 명령어 이름, 명령어 내용, 명령어 결과, 명령어 수행 시간을 출력합니다.

`$mongoClient->getServerList()->getServer($mongoClient->getServerList()->getPrimary())->getDatabase("mydb")->getCollection("mycollection")->watch()`는 MongoDB Collection의 변경사항을 실시간으로 감지합니다. `$mySubscriber`는 `MyCommandSubscriber` 클래스의 인스턴스입니다.

이 예제에서는 명령어 수행 성공 시 `commandSucceeded` 메소드가 호출되는 것을 볼 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 395 페이지

검색

게시물 검색