Exemplo n.º 1
0
    def __init__(self, traffic_alpha, debug=False):
        self.engine = EventEngine()
        # self.inter_arrival_mu = inter_arrival_mu  # all parameters will be in a config file later
        # self.inter_arrival_sigma = inter_arrival_sigma
        self.traffic_alpha = traffic_alpha
        self.am_pm = 'PM'

        self.section_occupancy = [0, 0, 0]
        self.section_queueing = [0, 0, 0, 0]
        self.section_data = np.empty((0, 4))

        self.travel_times = []

        self.alpha_cdf = []
        for a in [0.5, 0.75, 1, 1.25, 1.5]:
            fname = 'interarrival_times/interarrival-{:.2f}-cdf.dat'.format(a)
            cdf = np.genfromtxt(fname, delimiter=',')
            self.alpha_cdf.append(cdf)

        if debug:
            logging.basicConfig(level=logging.DEBUG)
Exemplo n.º 2
0

class Data(pw.Model):
    last_price = pw.DecimalField(null=False, default=0.0)
    timestamp = pw.DateTimeField(null=False)
    created_at = pw.DateTimeField(default=datetime.datetime.now)

    class Meta:
        database = db
        db_table = 'tick_data'


def init():
    db.create_tables([
        Data,
    ])


def on_tick(e):
    print 'On tick'
    print e.dict_


if __name__ == '__main__':
    from main import register_all_handlers
    ee = EventEngine()
    register_all_handlers(ee)
    ee.start()
    time.sleep(1)
    ee.put(Event('on_tick', id=1))
Exemplo n.º 3
0
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# add formatter to ch
ch.setFormatter(formatter)
# add ch to logger
logger.addHandler(ch)

client = pm.MongoClient('localhost', 27017)
db = client['data-db']

event_handlers = [{
    'name': 'on_tick',
    'func': 'test.on_tick'
}]

orders = Queue()  # order manager
main_engine = EventEngine()


def register_all_handlers(ee, handlers):
    if not isinstance(ee, EventEngine):
        raise Exception('Parameter must be the instance of EventEngine')

    def parse_func(full_name):
        p = re.compile(r'^(\S+)\.([\S^.]+)$')
        m = p.match(full_name)
        return m.groups() if m else (__name__, full_name)

    for handler in handlers:
        event_name = handler.get('name')
        module, func = parse_func(handler.get('func'))
        try: