Skip to content

sudev/woof

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

80 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Woof

Persistent messaging at scale

Introduction

Persistent messaging library which offers various flavors of messaging; optimizing for throughput, latency etc

Currently there is support for paritioned , persistent queues which use Apache Kafka as the backend. Future work will include low-latency messaging.

Installation

  • Install requirements for woof.
pip install -r requirements.txt
  • Install woof package
python setup.py install

Sample Usage

Producer

import sys
import os
import logging
from woof.producer import FeedProducer

fp = FeedProducer(server)
msg = "this"
fp.send(topic, " [MY MESSAGE] %s" %(msg))

Consumer

import time, sys, logging, os
from woof.consumer import FeedConsumer

# Callback function executed for eah message.
# Arg1 - msg.key
# Arg2 - msg.value
def dummy(key, value):
    print(key + ":" + value)

fc = FeedConsumer(broker='kafka_broker_ip:kafka_broker_port',  group ='TestGroup')
fc.add_topic(topic, dummy)
fc.run()

time.sleep(60) // This is just to avoid the process exiting

About

Persistent messaging at scale

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%