Exemple #1
0
def test_timing_logger(mock_logging, mock_time):
    logger = Mock()
    log_time = make_timing_logger(logger)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.DEBUG, "msg %s in %0.3fs", "foo", 0.123456789,)
    ]
def test_timing_logger(mock_logging, mock_time):
    logger = Mock()
    log_time = make_timing_logger(logger)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.DEBUG, "msg %s in %0.3fs", "foo", 0.123456789,)
    ]
Exemple #3
0
def test_timing_logger_precision(mock_logging):

    logger = Mock()
    log_time = make_timing_logger(logger, precision=5)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.DEBUG, "msg %s in %0.5fs", "foo", ANY)
    ]
Exemple #4
0
def test_timing_logger_level(mock_logging):

    logger = Mock()
    log_time = make_timing_logger(logger, level=logging.INFO)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.INFO, "msg %s in %0.3fs", "foo", ANY)
    ]
Exemple #5
0
def test_timing_logger_precision(mock_logging):

    logger = Mock()
    log_time = make_timing_logger(logger, precision=5)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.DEBUG, "msg %s in %0.5fs", "foo", ANY)
    ]
Exemple #6
0
def test_timing_logger_level(mock_logging):

    logger = Mock()
    log_time = make_timing_logger(logger, level=logging.INFO)

    with log_time("msg %s", "foo"):
        pass

    assert logger.log.call_args_list == [
        call(logging.INFO, "msg %s in %0.3fs", "foo", ANY)
    ]
Exemple #7
0
import six
from eventlet.event import Event
from eventlet.greenpool import GreenPool
from greenlet import GreenletExit  # pylint: disable=E0611
from nameko.constants import (CALL_ID_STACK_CONTEXT_KEY, DEFAULT_MAX_WORKERS,
                              DEFAULT_PARENT_CALLS_TRACKED, DEFAULT_SERIALIZER,
                              MAX_WORKERS_CONFIG_KEY, PARENT_CALLS_CONFIG_KEY,
                              SERIALIZER_CONFIG_KEY)
from nameko.exceptions import ConfigurationError, ContainerBeingKilled
from nameko.extensions import (ENTRYPOINT_EXTENSIONS_ATTR, is_dependency,
                               iter_extensions)
from nameko.log_helpers import make_timing_logger
from nameko.utils import SpawningSet, import_from_path

_log = getLogger(__name__)
_log_time = make_timing_logger(_log)

if six.PY2:  # pragma: no cover
    is_method = inspect.ismethod
else:  # pragma: no cover
    is_method = inspect.isfunction


def get_service_name(service_cls):
    service_name = getattr(service_cls, 'name', None)
    if service_name is None:
        raise ConfigurationError(
            'Service class must define a `name` attribute ({}.{})'.format(
                service_cls.__module__, service_cls.__name__))
    if not isinstance(service_name, six.string_types):
        raise ConfigurationError(
Exemple #8
0
import greenlet

from nameko.constants import (
    PARENT_CALLS_CONFIG_KEY, DEFAULT_PARENT_CALLS_TRACKED,
    MAX_WORKERS_CONFIG_KEY, DEFAULT_MAX_WORKERS,
    CALL_ID_STACK_CONTEXT_KEY, NAMEKO_CONTEXT_KEYS)

from nameko.dependencies import (
    prepare_dependencies, DependencySet, is_entrypoint_provider,
    is_injection_provider)
from nameko.exceptions import ContainerBeingKilled
from nameko.log_helpers import make_timing_logger


_log = getLogger(__name__)
_log_time = make_timing_logger(_log)


def get_service_name(service_cls):
    return getattr(service_cls, "name", service_cls.__name__.lower())


def new_call_id():
    return str(uuid.uuid4())


class WorkerContextBase(object):
    """ Abstract base class for a WorkerContext
    """
    __metaclass__ = ABCMeta