menu

Laravel - RabbitMQ (consume message)


Tahun baru, kita kita akan lanjutkan project rabbitMQ, pada tutorial sebelumnya kita sudah sampai pada engine untuk mengirim pesan rabbitMQ pada server, tutorial kali ini kita akan menitik beratkan pada cara mentrigger untuk membaca pesan.

Oke langsung saja kita mulai tutorialnya, pertama kita buat dulu engine consume rabbitnya, dengan cara buat file baru dengan nama consumeRabbit.php isi dengan code berikut:

<?php
 require_once __DIR__ . '/protected/vendor/autoload.php';
 use PhpAmqpLib\Connection\AMQPStreamConnection;
 use PhpAmqpLib\Message\AMQPMessage;

 $host = '127.0.0.1';
 $port = 5672;
 $user = 'guest';
 $pass = 'guest';
 $queue = 'test_message';

 $connection = new AMQPStreamConnection($host, $port, $user, $pass);
 $channel = $connection->channel();
 $channel->queue_declare($queue, false, false, false, false);
 echo ' [*] Waiting for messages. To exit press CTRL+C', "\n";

 $callback = function($msg) {
   echo " [x] Received ", $msg->body, "\n";
 };

 $channel->basic_consume($queue, '', false, true, false, false, $callback);
 while(count($channel->callbacks)) {
     $channel->wait();
 }
?>


Oke saatnya kita test
nyalakan terlebih dahulu server rabbitnya dengan cara buka tutorial sebelumnya,
kemudian, buka terminal masuk ke path project laravel kita kemudian jalankan engine consume rabbitnya dengan cara: php consumeRabbit.php sehingga akan muncul tampilan seperti ini,


Jika engine sudah ready, sekarang buka project laravel kita sehingga akan muncul halaman home seperti gambar dibawah,


selanjutnya click Send Rabbit jika proses selesai lihat terminal yang sudah kita jalankan engine consumeRabbit.php tadi sehingga akan tampak seperti gambar dibawah,



===DONE!===