Пример #1
0
def main():
    options, args = option_parser.parse_args()

    # Set logging level
    if options.log_level.upper() == 'SILENT':
        log.silence()
    else:
        log.set_level(options.log_level.upper())

    # Build address
    split_addr = options.address.split(':')
    if len(split_addr) == 1:
        host, port = split_addr[0], 3000
    elif len(split_addr) == 2:
        host, port = split_addr[0], int(split_addr[1])
    else:
        print 'Invalid address specified; defaulting to 127.0.0.1:3000'
        host, port = '127.0.0.1', 3000
    
    # Build message unit
    message = options.message.decode('utf-8')
    unit = [message] * options.unit_size
    message_count = options.num_messages
    
    # Configure mode (sync/async).
    mode = 'async'
    if options.synchronous:
        mode = 'sync'
    
    # Configure method (native/http)
    method = 'native'
    if options.http:
        method = 'http'
    
    client = QueueClient(mode=mode, method=method, host=host, port=port)
    
    start_time = time.time()
    
    while message_count > 0:
        client.push_many(*unit)
        assert (client.pull_many(options.unit_size, timeout=0) == unit)
        message_count -= options.unit_size
    
    end_time = time.time()
    
    if method == 'native':
        client.close()
    
    time_taken = end_time - start_time
    
    print '%d messages transferred in chunks of %s' % (options.num_messages,
                                                       options.unit_size)
    print 'Time taken: %0.4f seconds' % (time_taken,)
    print 'Average speed: %0.4f messages/second' % (
        options.num_messages / time_taken,)
def main():
    options, args = option_parser.parse_args()

    # Set logging level
    if options.log_level.upper() == 'SILENT':
        log.silence()
    else:
        log.set_level(options.log_level.upper())

    # Build address
    split_addr = options.address.split(':')
    if len(split_addr) == 1:
        host, port = split_addr[0], 3000
    elif len(split_addr) == 2:
        host, port = split_addr[0], int(split_addr[1])
    else:
        print 'Invalid address specified; defaulting to 127.0.0.1:3000'
        host, port = '127.0.0.1', 3000

    # Build message unit
    message = options.message.decode('utf-8')
    unit = [message] * options.unit_size
    message_count = options.num_messages

    # Configure mode (sync/async).
    mode = 'async'
    if options.synchronous:
        mode = 'sync'

    # Configure method (native/http)
    method = 'native'
    if options.http:
        method = 'http'

    client = QueueClient(mode=mode, method=method, host=host, port=port)

    start_time = time.time()

    while message_count > 0:
        client.push_many(*unit)
        assert (client.pull_many(options.unit_size, timeout=0) == unit)
        message_count -= options.unit_size

    end_time = time.time()

    if method == 'native':
        client.close()

    time_taken = end_time - start_time

    print '%d messages transferred in chunks of %s' % (options.num_messages,
                                                       options.unit_size)
    print 'Time taken: %0.4f seconds' % (time_taken, )
    print 'Average speed: %0.4f messages/second' % (options.num_messages /
                                                    time_taken, )
def _main():
    options, args = OPTION_PARSER.parse_args()

    # Handle log level.
    log_level = options.log_level
    if log_level.upper() == 'SILENT':
        # Completely disables logging output.
        log.silence()
    elif log_level.upper() not in log.LOG_LEVELS:
        log.ROOT_LOGGER.warning(
            'Invalid log level supplied, defaulting to INFO')
        log.ROOT_LOGGER.setLevel(log.INFO)
    else:
        log.ROOT_LOGGER.setLevel(getattr(log, log_level.upper()))

    # Instantiate and start server.
    server = NativeQueueServer(max_size=options.max_size)
    server.serve(interface=options.interface, port=options.port)
Пример #4
0
def _main():
    options, args = OPTION_PARSER.parse_args()
    
    # Handle log level.
    log_level = options.log_level
    if log_level.upper() == 'SILENT':
        # Completely disables logging output.
        log.silence()
    elif log_level.upper() not in log.LOG_LEVELS:
        log.ROOT_LOGGER.warning(
            'Invalid log level supplied, defaulting to INFO')
        log.ROOT_LOGGER.setLevel(log.INFO)
    else:
        log.ROOT_LOGGER.setLevel(getattr(log, log_level.upper()))
    
    # Instantiate and start server.
    server = HTTPQueueServer()
    server.serve(interface=options.interface, port=options.port,
                 max_size=options.max_size)