tarafından oluşturulan soru Wed, May 8, 2019 12:00 AM
Celery'nin yerleşik yayınını Broadcast kullanarak ve broker olarak rabbitmq kullanarak yayın yönlendirmeyi desteklemeye çalışıyorum.
Varsayılan doğrudan değiş tokuşu kullanarak başarılı bir şekilde mesaj yayınlamayı ve iletmeyi başardım, şimdi rabbitmq'in sağladığı fanout değişimini kullanmaya çalışıyorum. Bunun için kereviz Broadcast sınıfını kullanan yerleşik bir desteğe sahip görünüyor.
İşte kereviz kullanarak şu mesajı iletmekteyim rabbitmq:
from app.tasks.tasks import sync_channels
sync_channels.delay([])
Tavşan yönetimi kullanıcı arayüzünü açtığımda, "broadcast_tasks" adında bir fanout değiş tokuşu oluşturulduğunu görebiliyorum, ancak bir iletiyi sync_channels görevine itmeye çalıştığımda, otomatik olarak bir varsayılan (doğrudan) değiş tokuş ve bir varsayılan oluşturuyor sıra varsayılan değiş tokuşa bağlanır ve gelecekteki tüm eşitlemeleri sync_channels görevi iletilerim varsayılan değişime itilir. Her nasılsa, kerevizin sağladığı Yayın özelliğini yapılandıramıyorum.
Aşağıda, sorunu anlamanıza yardımcı olabilecek bazı ekran görüntüleri verilmiştir: