Skip to main content

A distributed RPC solution based on ØMQ and gevent. Follow the features:

  • A worker can return, yield, raise any picklable object to the remote customer.

  • A customer can invoke to any remote worker in the worker cluster.

  • A customer can invoke to all remote workers in the worker cluster.

Example

Server-side

The address is 192.168.0.41. The worker will listen at 24600.

import zmq.green as zmq
import zeronimo

class Application(object):

    def rycbar123(self):
        for word in 'run, you clever boy; and remember.'.split():
            yield word

ctx = zmq.Context()

# make worker
worker_sock = ctx.socket(zmq.PULL)
worker_sock.bind('tcp://*:24600')
worker = zeronimo.Worker(Application(), [worker_sock])

# run worker forever
worker.run()

Client-side

The address is 192.168.0.42. The reply collector will listen at 24601.

import zmq.green as zmq
import zeronimo

ctx = zmq.Context()

# make remote result collector
collector_sock = ctx.socket(zmq.PULL)
collector_sock.bind('tcp://*:24601)
collector = zeronimo.Collector(collector_sock, 'tcp://192.168.0.42:24601')

# make customer
customer_sock = ctx.socket(zmq.PUSH)
customer_sock.connect('tcp://192.168.0.41:24600')
customer = zeronimo.Customer(customer_sock, collector)

# rpc
remote_result = customer.emit('rycbar123')
for line in remote_result.get():
    print line

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zeronimo-0.7.2.tar.gz (25.6 kB view details)

Uploaded Source

File details

Details for the file zeronimo-0.7.2.tar.gz.

File metadata

  • Download URL: zeronimo-0.7.2.tar.gz
  • Upload date:
  • Size: 25.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for zeronimo-0.7.2.tar.gz
Algorithm Hash digest
SHA256 3bdcd614e596403616c20360ef886af640226180dd957f805b7ce195b3d9e7dd
MD5 74db47c6096c522c0ddaeec6af7fe842
BLAKE2b-256 d50613da8bf13216fafba63dec3fdbb10932007fa609bffa6ad594069a487c86

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.2 This release

1 file

0.7.1

1 file

0.7.0

1 file

0.6.8

1 file

0.6.7

1 file

0.6.6

1 file

0.6.5

1 file

0.6.4

1 file

0.6.3

1 file

0.6.2

1 file

0.6.1

1 file

0.6.0

1 file

0.5.3

1 file

0.5.2

1 file

0.5.1

1 file

0.5.0

1 file

0.4.1

1 file

0.4.0

1 file

0.3.0

1 file

0.2.14

1 file

0.2.13

1 file

0.2.12

1 file

0.2.11

1 file

0.2.10

1 file

0.2.9

1 file

0.2.8

1 file

0.2.7

1 file

0.2.6

1 file

0.2.5

1 file

0.2.4

1 file

0.2.3

1 file

0.2.2

1 file

0.2.1

1 file

0.2.0

1 file

0.1.6

1 file

0.1.5

1 file

0.1.4

1 file

0.1.3

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page