Is there a discussion that addresses MQTT Client Persistence within a Docker Swarm, creating a high availability configuration?
TIA
Hi all,
I think you are referring to the Persistence feature of MQTT Paho client. I don't have experience about the Python implementation of Paho. I can only tell you that the feature is implemented in C lib:
as well in Java:
It can be memory based or also file based, to keep and restore the message queue between restarts. I think this only applies to QoS 1 and 2. Please read the comments inside the referred files.
I hope this can inspire or guide you also on Python implementation. Regards, Lorenzo Shivam Seth <shivam.jma@xxxxxxxxx> writes:
> On Thu, Apr 2, 2020 at 8:38 PM Greg Troxel <gdt@xxxxxxxxxx> wrote:
>
>> Shivam Seth <shivam.jma@xxxxxxxxx> writes:
>>
>> > If this is not right place to ask questions, Please guide me to correct
>> > path.
>>
>> It seems right.
>>
>> > I am using *python** based paho mqtt client*.
>> > When MQTT broker get disconnected, the messages at mqtt client will be
>> > buffered, which are there to be publish to broker.
>>
>> paho python is a library. Did you write code to use the library?
>>
> *SHIVAM : *Yes, I have written some code and used paho library to create
> client, connect to broker and publish message to mosquitto broker.
If you publish a link to your code, that might get some comments (but
might not).
>> Can you point to where in the docs this should be explained and what you
>> found there?
>>
> *SHIVAM :* I didn't found any information documented. I have done one
>> practical
I meant "read the entire documentation and tell the list where what you
want to know should be explained and isn't", thinking that might cause
someone who knows to add it.
> 1. Start mosquitto broker on command prompt.
> 2. Start python script to connect("127.0.0.1", port=1883,
> keep_alive=60) to mosquitto broker. (start publishing message's in
> background, using start_loop() function )
> 3. Kill terminal on which mosquitto was running
> 4.
> 1. Python client will try to re-connect to server internally. (This
> functionality is in start_loop() )
> 2. After sometime Start mosquitto broker again on command prompt
> 5. Paho client code will internally re-connect and publish the message.
>
> After facing such situation, I got doubt that it is buffering such
> messages, (On debugging paho client library code , I found there is a
> variable called _out_messages which is python ordered dictionary and
> holding messages.
Sounds like you are well on your way to figuring this out.
>> I would suggest reading the source code.
>>
> *SHIVAM :* I am doing that, I wanted to understand, Is there any standard
> specification about such messages.
You could read the MQTT specs. I would expect that endpoint behavior
like this is not specified, but I don't know.
One could also implement something that stores messages to be sent in
stable storage (disk), in files or a database, so that messages would be
buffered across invocations of the client. I have been thinking of this
for xmpp, sort of making it like a mail program that stores drafts.
_______________________________________________
paho-dev mailing list
paho-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/paho-dev
_______________________________________________ paho-dev mailing list paho-dev@xxxxxxxxxxxTo unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/paho-dev
|