On 11/29/2012 09:58 AM, Alexis de Lattre wrote:
This recent blog post http://www.openerp.com/node/1277 says :
<<
We already have a few ideas that are in our development backlog:
Be "real time" using websockets rather than http. Emails and answers
should work like a chat if both the sender and the recipient are active
at the same time. A small conversation is often more efficient than a
series of emails back and forth to take a decision.
>>
Could we know more about these plans ? What is possible in OpenERP 7.0
framework if I want to trigger an action on the client side ?
I can say a few words about that, but nothing is definitive yet, and OpenERP
7.0 is not likely to include any of this.
There are many use cases for which we need a server-push mechanism, and yours
is one more example. At the moment there isn't anything built-in in the
framework, so your main option if you want to do it efficiently without
external tools is to implement your own long-polling stack.
This works well enough if the OpenERP server is running in mono-process mode,
with multi-threaded workers. However it fails in multi-process, mono-threaded
mode (typical 6.1 Gunicorn deployment mode), as your workers will quickly be
blocked by long-polling requests, and the server will stop responding.
We're not yet sure how to solve this, but one approach is to switch to
multi-threaded workers also in multiprocess mode, getting the advantages of
both worlds. It would allow long-polling requests without causing worker
starvation, and still use multiple cores.
We could use that opportunity to switch to gevent[1] greenlets[2] in order to
increase the server throughput. Gunicorn has a gevent worker mode, so that
works, but using greenlets offers a few extra challenges that have yet to be
solved.
[1] http://gevent.org/
[2] http://en.wikipedia.org/wiki/Green_threads
_______________________________________________
Mailing list: https://launchpad.net/~openerp-expert-framework
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-expert-framework
More help : https://help.launchpad.net/ListHelp