I reflected a way to communicate several Tryton servers between them (to start, at least 2 Tryton servers “clients” to a “main” server). To synchronize a list of products for example, or make that the confirmation of a purchase order, automatically create a sales order on the “main” server. I think I’m going to use Celery with rabbitmq.
Has anyone ever thought about the question?
Yes it should be based on EDI standard messages (EDI Integration)
And probably the simpler transfer protocol should be SMTP because it is available almost everywhere.
I think it could be a game changer if there is no compatibility constraint between the servers.
You can also look at creating a special worker. The data to be synced can be put into the queue and is then processed by the worker, which act as a client to the “main server”.
See also Task Queue — trytond latest documentation
I’m doing something similar but then the other way around, sending notifications to special clients. What I did was creating a new Python script with two threads. One thread checks the queue for data to be processed. If so, it will process the data, but also put the result in an internal queue so the second thread can pick that data and send it to the clients.
Thanks i will see this
Yes, this is an advantage, however its biggest disadvantage is that there is no guarantee of distribution.
Like any other system. But you have notification about failure.
Also if you control both sides, you can ensure that it is working.
But any way the protocol is just a detail and should be exchangeable with any other like sftp, web API etc.