- edited description
New RPC system
We need to have some kind of standard RPC system with (at least) the following features:
-
Easy to use: creating a client should just be "Client(url)", calling a method should be "client.method(args)", creating a server should be just like SimpleXMLRPCServer
-
Introspection support: special method to list exported methods and their docstrings.
-
Command line tool for humans to easily perform RPC without opening a Python shell: "prolorpc http://mdb/ get_machines"
-
Supports asynchronous calls: if a method is called with callback=<func>, the RPC client automatically switches to asynchronous (using a thread pool? Tornado httpclient? not sure)
-
Supports streaming calls, mdbsync/udbsync like. If the server-side function returns a generator, the client-side function should return a generator as well.
-
Authentication support: not yet sure how to do it properly to avoid repeating info in client and server, but there has to be a way.
Comments (2)
-
reporter -
- changed status to resolved
Finished, see in python-lib/prologin/rpc. The auth is made with timeauth, generators are handled, there is a "prolorpc" command line tool.
- Log in to comment