Instantly share code, notes, and snippets.

Embed
What would you like to do?
RabbitMQ: mesajı geciktirerek tüketmek

RabbitMQ: Mesajı Geciktirerek Tüketmek

  • delay-exchange: Geciktirilecek mesajın bırakıldığı exchange.
  • delay-queue: delay-exchange'e bağlı. Herhangi bir tüketicisi olmamalı.
  • ana-exchange: Geciktirilmeden tüketilmek istenen mesajların bırakılabileceği exchange.
  • ana-queue: ana-exchange'e bağlı kuyruk. Tüketicisi var.

delay-queue şu parametrelerle oluşturulur:

  • x-dead-letter-exchange: -- boş
  • x-message-ttl: 3000 -- mesajın bekletileceği milisaniye
  • x-dead-letter-routing-key: ana-queue -- mesajın yaşam süresi dolunca aktarılacağı kuyruk.

Geciktirilerek işlenmek istenen mesaj delay-exchange'e bırakılır. Mesaj oradan delay-queue'a geçer. delay-queue'nun herhangi bir tüketicisi olmadığından mesaj burada x-message-ttl kadar bekler. Bu süre dolduktan sonra x-dead-letter-routing-key parametresindeki kuyruğa (ana-queue) aktarılır. Aktarılan mesaj bu kuyruk üzerinden tüketilir.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment