Example #1
0
    def test_firstmethod_promises(self):

        class A(object):

            def __init__(self, value=None):
                self.value = value

            def m(self):
                return self.value

        self.assertEqual("four", utils.firstmethod("m")([
            A(), A(), A(), A("four"), A("five")]))
        self.assertEqual("four", utils.firstmethod("m")([
            A(), A(), A(), promise(lambda: A("four")), A("five")]))
Example #2
0
    def test_firstmethod_promises(self):
        class A(object):
            def __init__(self, value=None):
                self.value = value

            def m(self):
                return self.value

        self.assertEqual(
            "four",
            utils.firstmethod("m")([A(), A(),
                                    A(), A("four"),
                                    A("five")]))
        self.assertEqual(
            "four",
            utils.firstmethod("m")(
                [A(), A(),
                 A(), promise(lambda: A("four")),
                 A("five")]))
Example #3
0
from celery.exceptions import QueueNotFound
from celery.utils import instantiate, firstmethod, mpromise

_first_route = firstmethod("route_for_task")


class MapRoute(object):
    """Makes a router out of a :class:`dict`."""

    def __init__(self, map):
        self.map = map

    def route_for_task(self, task, *args, **kwargs):
        route = self.map.get(task)
        if route:
            return dict(route)


class Router(object):
    def __init__(self, routes=None, queues=None, create_missing=False):
        if queues is None:
            queues = {}
        if routes is None:
            routes = []
        self.queues = queues
        self.routes = routes
        self.create_missing = create_missing

    def add_queue(self, queue):
        q = self.queues[queue] = {
            "binding_key": queue,
Example #4
0
 def test_firstmethod_AttributeError(self):
     self.assertIsNone(utils.firstmethod("foo")([object()]))
Example #5
0
 def test_firstmethod_AttributeError(self):
     self.assertIsNone(utils.firstmethod("foo")([object()]))
Example #6
0
from celery.exceptions import QueueNotFound
from celery.utils import firstmethod, instantiate, lpmerge, mpromise

_first_route = firstmethod("route_for_task")


class MapRoute(object):
    """Creates a router out of a :class:`dict`."""
    def __init__(self, map):
        self.map = map

    def route_for_task(self, task, *args, **kwargs):
        route = self.map.get(task)
        if route:
            return dict(route)


class Router(object):
    def __init__(self,
                 routes=None,
                 queues=None,
                 create_missing=False,
                 app=None):
        from celery.app import app_or_default
        self.app = app_or_default(app)
        if queues is None:
            queues = {}
        if routes is None:
            routes = []
        self.queues = queues
        self.routes = routes