[Pharo-users] Re: Communication between different images

2021-06-28 Thread Sven Van Caekenberghe
Hi Esteban, > On 29 Jun 2021, at 04:55, Esteban Maringolo wrote: > > 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,

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Esteban Maringolo
Hi Sven, I thought about both RabittMQ and MQTT too. For RabittMQ I noticed you provide a docker config to get a container running quickly. What is the easy-go solution for MQTT? Regards! Esteban A. Maringolo On Tue, Jun 29, 2021 at 3:15 AM Sven Van Caekenberghe wrote: > > Hi Esteban, > > > O

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Sven Van Caekenberghe
> On 29 Jun 2021, at 15:50, Esteban Maringolo wrote: > > Hi Sven, > > I thought about both RabittMQ and MQTT too. > > For RabittMQ I noticed you provide a docker config to get a container > running quickly. That was done for GitHub action testing, by Santiago, you could indeed (re)use part

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Jesus Mari Aguirre
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

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Esteban Maringolo
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 s

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Gabriel Cotelli
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 wrote: > As far as I understand, ZeroMQ does not require a broker to perform > the communication b

[Pharo-users] Re: Communication between different images

2021-06-29 Thread Esteban Maringolo
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

[Pharo-users] Re: Communication between different images

2021-06-30 Thread Sven Van Caekenberghe
> On 29 Jun 2021, at 20:10, Esteban Maringolo wrote: > > 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). From the comments in M

[Pharo-users] Re: Communication between different images

2021-06-30 Thread Sven Van Caekenberghe
> On 30 Jun 2021, at 01:28, Esteban Maringolo wrote: > > 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

[Pharo-users] Re: Communication between different images

2021-07-01 Thread Jesus Mari Aguirre
As far as I know, zmq doesn't need a broker but subscribers should know the address of the publisher, if the network increases its complexity with more publishers you need a broker, that is a proxy on zmq. If I understand well you need any of them should be able to publish a change to all of the o

[Pharo-users] Re: Communication between different images

2021-07-01 Thread Esteban Maringolo
Hi Sven, Thanks, now I understand better the use of QoS and session ID with a practical use case. How do you deal with the lifetime of each "listener" (subscriber) on each image? I mean, how stable is it? E.g. MQTTClient new open; subscribeToTopic: '/updates'; runWith: [ :message |

[Pharo-users] Re: Communication between different images

2021-07-01 Thread Esteban Maringolo
On Thu, Jul 1, 2021 at 3:00 PM Jesus Mari Aguirre wrote: > > As far as I know, zmq doesn't need a broker but subscribers should know the > address of the publisher, if the network increases its complexity with more > publishers you need a broker, that is a proxy on zmq. > If I understand well y

[Pharo-users] Re: Communication between different images

2021-07-01 Thread Sven Van Caekenberghe
> On 1 Jul 2021, at 20:58, Esteban Maringolo wrote: > > Hi Sven, > > Thanks, now I understand better the use of QoS and session ID with a > practical use case. > > How do you deal with the lifetime of each "listener" (subscriber) on > each image? I mean, how stable is it? > > E.g. > MQTTCli

[Pharo-users] Re: Communication between different images

2021-07-01 Thread Sven Van Caekenberghe
> On 1 Jul 2021, at 21:01, Esteban Maringolo wrote: > > On Thu, Jul 1, 2021 at 3:00 PM Jesus Mari Aguirre > wrote: >> >> As far as I know, zmq doesn't need a broker but subscribers should know the >> address of the publisher, if the network increases its complexity with more >> publishers

[Pharo-users] Re: Communication between different images

2021-07-03 Thread Jesus Mari Aguirre
On ZeroMQ it could be something like that...first you need a broker (a proxy) using XSUB and XPUB. In one pharo image... (I think this part better be done in C because it will freezy the image forever but it works) | frontend backend | frontend := ZmqXSubscriberSocket new. frontend bind: 'tcp://*