Hi Gabriel, I like the Ansible approach using RabbitMQ, in particular because it would also work to delegate tasks to workers (even if in the same image), and the task queue would be preserved, whilst in MQTT if there are no subscribers for a topic, then all messages sent to it are discarded.
Is there a way to "start fresh" when subscribing to a queue?, it is, to receive only messages _after_ you subscribed to it? How do you ensure that the publisher/subscriber (and particularly this last) keeps running for the lifetime of an image? It is, what are the failover/recovery options? Regards! Esteban A. Maringolo On Tue, Jun 29, 2021 at 3:44 PM Gabriel Cotelli <g.cote...@gmail.com> wrote: > > If you want to use Rabbit you can also take a look at Ansible for connecting > using the protocol instead of STOMP. > > On Tue, Jun 29, 2021 at 3:11 PM Esteban Maringolo <emaring...@gmail.com> > wrote: >> >> As far as I understand, ZeroMQ does not require a broker to perform >> the communication between publishers and subscribers, I don't know how >> that is implemented (what do they connect to? how each client >> discovers each other?). >> >> I already got MQTT running, It's not completely clear to me how the >> QoS setting works (atLeastOnce, exactlyOnce, atMostOnce), I don't >> remember using that setting in Java (it probably had a sensible >> default). >> >> Regards! >> >> >> Esteban A. Maringolo >> >> On Tue, Jun 29, 2021 at 2:45 PM Jesus Mari Aguirre >> <jmariagui...@gmail.com> wrote: >> > >> > Maybe ZeroMQ fits you, but unlucky is not documented and there are only a >> > few examples. I use ir in my jupyter kernel. You can install my port to >> > pharo64 uFFI doing: >> > >> > Metacello new >> > baseline: 'JupyterTalk'; >> > repository: 'github://jmari/JupyterTalk:master/repository'; >> > load:'zmq' >> > >> > But it needs ZeroMQ previously installed on your system. >> > It was ported from http://smalltalkhub.com/#!/~panuw/zeromq now it is at: >> > https://github.com/dellani/zeroMQ but I'm not sure if the original repo >> > works on newer Pharos....I had no time to contact the original author to >> > join both repos... >> > >> > >> > >> > El mar, 29 jun 2021 a las 4:56, Esteban Maringolo (<emaring...@gmail.com>) >> > escribió: >> >> >> >> Hi, >> >> >> >> I'm rearchitecting a web app to perform updates only when necessary >> >> (instead of computing them all the time) on each request, I can have a >> >> global announcer and subscribers to know when to update within an >> >> image, but is there a way to have something like that but for >> >> inter-image coordination? >> >> >> >> I'd only need to communicate the id and the class name (or a similar >> >> identifier), so on other images they'll update accordingly, and if >> >> there is an update in one image, it will notify the other images. The >> >> common data is on the database, so this is just to avoid re-reading a >> >> lot of things. >> >> >> >> Is a message queue a good fit for this? Pub/Sub? >> >> What is available in Pharo that works without having to set up a lot of >> >> things? >> >> >> >> Thanks! >> >> >> >> Esteban A. Maringolo