Skip to content

orhanmusellim/rabbitmq-php-class

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation


Logo

PHP - RabbitMQ Class


Logo

PHP Projelerinize dahil ederek kullanabileceğiniz RabbitMQ Entegrasyonu için hazırlanmış basit bir Class'dır.

Kurulum

  1. Repoyu Klonlayın

  2. Composer üzerindeki bağımlılıkları kurun.

composer install
  1. Kullanmaya başlayın.

Kullanım

  1. Sınıfı sayfanıza dahil edin.

  2. RabbitMQ sunucunuza kurulu ve çalışır halde olduğundan emin olun.

  3. RabbitMQ üzerine yeni bir mesaj göndermek için aşağıdaki kod bloğunu kullanabilirsiniz. Mesaj gönderimi için gerekli olan queue ve exchange'i classı türetirken parametreler ile oluşturacaktır.

$rabbitMqConfig = array(
    "queue" => "Normal-Mesajlar",
    "exchange" => "normal",
    "exchangeType" => "direct",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->sendMessage(array(
    'Mesaj' => 'Bu Bir RabbitMQ Mesajıdır.'
));
print_r($response);
  1. RabbitMQ ile istediğiniz bir queue üzerindeki mesajları çekmek için aşağıdaki kod bloğunu kullanabilirsiniz. Ayrıca ack fonksiyonu ile işlem yaptığınız mesajı kuyruktan kaldırabilirsiniz.
$rabbitMqConfig = array(
"queue" => "Normal-Mesajlar",
"exchange" => "normal",
"exchangeType" => "direct"
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->getMessages();
foreach ($response as $message) {
    print_r(json_decode($message->body));
    $rabbitMq->ack($message->delivery_info['delivery_tag']);
}

Zamanlayarak Kuyruğa Ekleme Yapmak !

RabbitMQ kuyruğa ekleme yaparken işlem yaptığınız an kuyruğa ekleme işlemi yapacaktır. İstediğiniz bir zaman dilimini belirterek kuyruğa ekleme işlemini gecikmeli olarak yaptırabilirsiniz. Öncelikle bu işlemi yapabilmek için “RabbitMQ Delayed Message” eklentisini sunucunuza kurarak RabbitMQ için aktif etmeniz gerekir. http://www.rabbitmq.com/community-plugins.html adresinden eklenti ile ilgili işlemleri yapabilirsiniz.

  1. Zamanlanmış Mesaj Ekleme için aşağıdaki kod bloğunu kullanabilirsiniz.
$rabbitMqConfig = array(
    "queue" => "queue-name",
    "queueArgs" => array("x-queue-type" => "classic"),
    "exchange" => "queue-exchange",
    "exchangeType" => "x-delayed-message",
    "exchangeArgs" => array("x-delayed-type" => "topic"),
    "routingKey" => "queue-routing-key",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->sendDelayedMessage(array(
    'Mesaj' => 'Bu Bir Beklemeli RabbitMQ Mesajıdır.!'
), 60000); #Milisaniye cinsinden 
print_r($response);
  1. Zamanlanarak gönderilen mesajları okumak için aşağıdaki kod bloğunu kullanabilirsiniz.
$rabbitMqConfig = array(
    "queue" => "queue-name",
    "exchange" => "queue-exchange",
    "exchangeType" => "x-delayed-message",
    "routingKey" => "queue-routing-key",
);
$rabbitMq = new rabbitmq(rabbitMqConfig);
$response = $rabbitMq->getMessages();
foreach ($response as $message) {
    print_r(json_decode($message->body));
    $this->rabbitmq->ack($message->delivery_info['delivery_tag']);
}

About

PHP ile RabbitMQ kullanımı için hazırlanmış bir class

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages