라이브러리
[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` 메소드가 호출되는 것을 볼 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.