0MQ based Service Oriented RPC Framework
Project description
The butler framework aims to make building reliable and high-performance service-oriented systems easy. The internal communication is done via ØMQ sockets.
Usage
Start a Router:
import butler router = butler.Router() router.frontend.bind("tcp://*:5555") router.backend.bind("tcp://*:5556") router.run()
Register a Service Worker by name:
worker = butler.Service('tcp://127.0.0.1:5556', 'api.images')
Expose a function on the Service Worker:
def resize_image(name, size): return 'resized image' worker.register_function(resize_image) worker.run()
Or expose all the methods of an object:
class RPCService(object): def resize_image(self, name, size): return 'resized image' worker.register(RPCService()) worker.run()
Send a request to a registered Service and receive its response:
client = butler.Client('tcp://127.0.0.1:5555').rpc('api.images') client.resize_image('test.jpeg', '150x180')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
butler-0.2.0.tar.gz
(9.3 kB
view hashes)