Esempio n. 1
0
def _create_stream_server(port,
                          buffering_time,
                          disable_feedback=False,
                          disable_road_info=False,
                          disable_persistence=False,
                          backend_stream=None,
                          score_info_url=DEFAULT_SCORE_INFO_URL,
                          road_info_url=DEFAULT_ROAD_INFO_URL,
                          log_event_time=None):
    server = ztreamy.StreamServer(port)
    collector_stream = CollectorStream(buffering_time,
                                       disable_feedback=disable_feedback,
                                       disable_road_info=disable_road_info,
                                       disable_persistence=disable_persistence,
                                       backend_stream=backend_stream,
                                       score_info_url=score_info_url,
                                       road_info_url=road_info_url,
                                       log_event_time=log_event_time)
    if not backend_stream:
        type_relays = EventTypeRelays(collector_stream, 'SmartDriver', [
            'Vehicle Location',
            'High Speed',
            'High Acceleration',
            'High Deceleration',
            'High Heart Rate',
            'Data Section',
            'Context Data',
        ], buffering_time)
    else:
        type_relays = None
    server.add_stream(collector_stream)
    if type_relays:
        for stream in type_relays.relays.values():
            server.add_stream(stream)
    return server
Esempio n. 2
0
def main():
    args = _read_cmd_arguments()
    if args.buffer > 0:
        buffering_time = args.buffer * 1000
    else:
        buffering_time = None
    utils.configure_logging('dbfeed-{}'.format(args.port),
                            level=args.log_level,
                            disable_stderr=args.disable_stderr)
    server = ztreamy.StreamServer(args.port)
    stream = DBFeedStream('dbfeed',
                          args.collectors,
                          label='dbfeed',
                          num_recent_events=2**17,
                          persist_events=not args.disable_persistence,
                          buffering_time=buffering_time,
                          retrieve_missing_events=True,
                          log_event_time=args.log_event_time)
    server.add_stream(stream)
    try:
        server.start()
    except KeyboardInterrupt:
        pass
    finally:
        server.stop()
def _create_stream_server(port, buffering_time, disable_persistence=False):
    server = ztreamy.StreamServer(port)
    backend_stream = BackendStream(buffering_time,
                                   disable_persistence=disable_persistence)
    type_relays = collector.EventTypeRelays(backend_stream, 'SmartDriver', [
        'Vehicle Location',
        'High Speed',
        'High Acceleration',
        'High Deceleration',
        'High Heart Rate',
        'Data Section',
        'Context Data',
    ], buffering_time)
    server.add_stream(backend_stream)
    for stream in type_relays.relays.values():
        server.add_stream(stream)
    return server
Esempio n. 4
0
def main():
    args = _read_cmd_arguments()
    if args.buffer > 0:
        buffering_time = args.buffer * 1000
    else:
        buffering_time = None
    utils.configure_logging('teststream',
                            level=args.log_level,
                            disable_stderr=args.disable_stderr)
    server = ztreamy.StreamServer(args.port)
    test_stream = ztreamy.Stream('test',
                                 parse_event_body=True,
                                 buffering_time=buffering_time,
                                 allow_publish=True)
    server.add_stream(test_stream)
    try:
        server.start()
    except KeyboardInterrupt:
        pass
    finally:
        server.stop()
Esempio n. 5
0
from __future__ import print_function

import time
import random

import ztreamy
import tornado.ioloop

# Create a server with two streams
server = ztreamy.StreamServer(9000)

# Create the streams; stream1 allows remote producers to publish through HTTP
stream1 = ztreamy.Stream('/stream1', allow_publish=True)
stream2 = ztreamy.Stream('/stream2')
server.add_stream(stream1)
server.add_stream(stream2)

# Create two publisher objects
publisher1 = ztreamy.LocalEventPublisher(stream1)
publisher2 = ztreamy.LocalEventPublisher(stream2)
source_id = ztreamy.random_id()
application_ids = ['ztreamy-example-a', 'ztreamy-example-b']


# Publish events periodically
def publish_hi():
    print('Publishing "hi"')
    app_id = random.choice(application_ids)
    event = ztreamy.Event(source_id, 'text/plain', 'Hi', application_id=app_id)
    publisher1.publish(event)
Esempio n. 6
0
import ztreamy
import ConfigParser

########################################
## Reading the config file
config = ConfigParser.RawConfigParser()
config.read('ztreamy_config.cfg')

input_port = config.get('global', "port")
input_streams = config.items('streams')

########################################
## Create a server with the streams setup in the config file
server = ztreamy.StreamServer(input_port)

for (name, value) in input_streams:
    stream = ztreamy.Stream('/' + value, allow_publish=True)
    server.add_stream(stream)

try:
    print 'Starting the server at ' + input_port + ' with the following streams: '
    for (name, value) in input_streams:
        print '/' + value
    print ''
    server.start(loop=True)
except KeyboardInterrupt:
    # Allow ctrl-c to close the server
    pass
finally:
    server.stop()