diff --git a/examples/MonitorContext.php b/examples/MonitorContext.php new file mode 100644 index 00000000..6f935933 --- /dev/null +++ b/examples/MonitorContext.php @@ -0,0 +1,38 @@ + 0)); + +// Use only one instance of DateTime, we will update the timestamp later. +$timestamp = new DateTime(); + +foreach (($monitor = $client->monitor()) as $event) { + $timestamp->setTimestamp((int) $event->timestamp); + + // If we notice a ECHO command with the message QUIT_MONITOR, we close the + // monitor context and then break the loop. + if ($event->command === 'ECHO' && $event->arguments === '"QUIT_MONITOR"') { + echo "Exiting the monitor loop...\n"; + $monitor->closeContext(); + break; + } + + echo "* Received {$event->command} on DB {$event->database} at {$timestamp->format(DateTime::W3C)}\n"; + if (isset($event->arguments)) { + echo " Arguments: {$event->arguments}\n"; + } +} + +// Say goodbye :-) +$info = $client->info(); +print_r("Goodbye from Redis v{$info['redis_version']}!\n");