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
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
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()
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)
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()