from moksha.api.hub import Consumer
class FeedConsumer(Consumer):
topic = 'feeds'
def consume(self, message):
print message['headers']
print message['body']
Note
The MokshaHub currently executes each consumer in their own Thread, so be sure to employ thread-safety precausions when implementing your Consumer.
To “install” your consumer, you have to expose it on on the moksha.consumer entry-point. This can be done by updating your applications setup.py to make it look something like this:
entry_points="""
[moksha.consumer]
feedconsumer = myapplication.feedconsumer:FeedConsumer
"""
After modifying your entry-points, you’ll need to re-generate your project’s egg-info. The start-moksha script will do this for you.
$ python setup.py egg_info
Moksha will now automatically detect, instantiate, and feed your consumer.