test.py is successfully relaying all datasource events.

This commit is contained in:
fawce
2012-01-16 19:26:34 -05:00
parent ddaefb9e1b
commit fa923af060
9 changed files with 334 additions and 141 deletions
+30 -6
View File
@@ -3,21 +3,45 @@ import logging
import tornado
from data.sources.equity import *
from data.feed import *
from data.transforms import Merge, MovingAverage
from qbt_server import connect_db
from qbt_client import BacktestClient
def datafeed():
connection, db = connect_db()
logger = logging.getLogger()
feed = DataFeed(db, logger)
logger.info("starting the feed")
feed.run()
feed = DataFeed(db, 1) #one merge, two moving averages.
feed_proc = multiprocessing.Process(target=feed.run)
feed_proc.start()
#config = {}
#config['name'] = '**merged feed**'
#config['transforms'] = [{'name':'mavg1', 'class':'MovingAverage', 'hours':1},{'name':'mavg2', 'class':'MovingAverage', 'hours':2}]
#result_address = "tcp://127.0.0.1:20202"
#mavg = MovingAverage(feed.feed_address, result_address, feed.sync_address, config['transforms'][0])
#mavg.run()
#merger = Merge(feed.feed_address, result_address, feed.sync_address, config)
#merger_proc = multiprocessing.Process(target=merger.run)
#merger_proc.start()
client = BacktestClient(feed.feed_address, feed.sync_address)
client.run()
def pubsub():
proc1 = multiprocessing.Process(target=sub)
proc2 = multiprocessing.Process(target=pub)
proc1.start()
proc2.start()
def sub():
context = zmq.Context()
controller = context.socket(zmq.SUB)
controller = context.socket(zmq.PULL)
controller.connect("tcp://127.0.0.1:10099")
controller.setsockopt(zmq.SUBSCRIBE, '')
#controller.setsockopt(zmq.SUBSCRIBE, '')
while True:
try:
message = controller.recv()
@@ -28,7 +52,7 @@ def sub():
def pub():
context = zmq.Context()
controller = context.socket(zmq.PUB)
controller = context.socket(zmq.PUSH)
controller.bind("tcp://127.0.0.1:10099")
while True:
controller.send("HELLO3")