Zdravím. Snažím se poprvý použít frontu. Vzhledem k tomu, že to potřebuju zadrátovat do Nette aplikace, zvolil jsem Kdyby. Tak nějak se mi na první pohled zdá, že všechno chápu až na to, proč, třeba tady v článku https://filip-prochazka.com/…kdyby-events se udává queue u produceru.

facebookNotifications:
            exchange: {name: 'facebook-notifications', type: direct}
            queue: {name: 'facebook-notifications'}

V dokumentaci https://github.com/…/en/index.md jsem si takovýho příkladu nevšiml. Všude se udává jen u consumera. Stejně tak v žádnym tutorialu https://www.rabbitmq.com/getstarted.html mi nepříšlo, že by někde u producera řešili queue (leda jako routovací parametr pro defaultní exchange).

K čemu tam tedy to queue u producera je? Proč tam neni jen ta exchange? Nebo minimálně proč je to na dvou místech?

Díky za potenciální odpověď… A samozřejmě Kdyby :)

Ahoj, protože pak můžeš zavolat příkaz

php www/index.php rabbitmq:setup-fabric

který díky tomu pozná, že má nabindovat exchange na tu danou queue a všechno ti nastaví.

Sice je lepší všechno si naklikad třeba v designeru, ale nenašel jsem pohodlnější způsob jak to pak nastavit například na travisu.

Samozřejme, používat to nemusíš, exchange v produceru a queue v consumeru úplně stačí a mělo by to fungovat jen s tím :)

Aha, super, díky. To mi přijde lepší to mít v tom konfiguráku než něco klikat a spolíhat se, že je to naklikaný, ale stejně moc nechápu, proč se to teda nekonfiguruje třeba takhle (nicméně věřím, že to má svůj důvod, kterej mi jen nedochází)

producers:
    facebookNotifications:
        exchange: facebook-notifications

consumers:
    facebookNotifications:
        exchange: facebook-notifications

exchanges:
    facebook-notifications:
        type: direct
        queue: facebook-notifications
  • setup-fabric ví, co má kam nabindovat díky exchanges
  • producery vědí, přes jakou exchange posílat díky producers
  • consumery vědí, přes jakou exchange odebírat díky consumers
  • Comments:

  • Je to formát původního Bundle, který byl dělaný pro symfony. Já ho prostě přejal a neřešil jsem strukturu configu :)

    by Filip Procházka at 16.7.2015 3:46
  • Mimochodem, consumer se binduje na queue, ne na exchange.

    by Filip Procházka at 16.7.2015 3:47
  • Ajono, chyba, queue vlastně :-). Chápu no, taky jsem do toho originálního bundlu koukal jestli je to tam stejně. Věřim, že to má svůj důvod proč je to takhle, že konfigurovat exchange zvlášť mimo consumery/producery nezvolili z nějakýho důvodu. Asi bych se měl zeptat spíš tam no, ale tak ono je to asi celkem jedno, třeba mi to časem dojde.

    by Maryo at 16.7.2015 12:14

You must first log in to participate in this discussion