2015-10-18 14 views
6

tutorials on RabbitMq's site yalındır güzel olabilir ama ben the Rpc example yılında, geliştiriciler EventingBasicConsumer ve başka yerlerde kullanılan olay işleme modeli kullanmak yerine parçacığı engelleme çağrısı consumer.Queue.Dequeue() kullanmayı tercih olduğunu fark ettim.RabbitMQ Rpc: EventingBasicConsumer veya QueueingBasicConsumer

current documentation boyunca versiyon 3.5.0 uygulama geri arama işleyicileri olarak

bloke işlem yapmaya belirtilmektedir Looking (örneğin IModel.QueueDeclare veya IModel.BasicCancel gibi). IBasicConsumer geri çağrıları aynı anda çağrılır.

nerede the old documentation (s. 1.5.0) o

uygulama geri arama işlemcileri (örneğin IModel.QueueDeclare veya IModel.BasicCancel) AMQP işlem engelleme çağırmak zorundadır desteklenmez açıkça ifade etmektedir. Eğer yaparlarsa, kanal kilitlenecektir. [...] Bu nedenle, QueueingBasicConsumer bir kuyruğa abone olmanın en güvenli yoludur.

RPC örneği güncellenmemiş olabilir mi? Yoksa bir şey mi özlüyorum? Bununla ilgili bazı belgelere işaret etmekten çok memnun olurum.

cevap

2

Haklısınız, QueueingBasicConsumer'u kullanmaya gerek yoktur. Bu konuda RabbitMQ derslerinde repo an issue var.

a pull request gönderdim ve birleştirildi, belgelerin yakında güncelleneceğini umuyoruz.