示例#1
0
文件: base.py 项目: stbenjam/gofer
 def test_no_exchange(self):
     print 'test builtin (direct) exchange'
     address = Address('test.10')
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     self.producer_reader(address)
示例#2
0
文件: policy.py 项目: jortel/gofer
    def __call__(self):
        """
        Trigger pulled.
        Execute the request.
        """
        if not self._pending:
            raise Exception('trigger already executed')
        self._pending = False

        # asynchronous
        if self._policy.reply:
            return self._send(reply=self._policy.reply)
        if self._policy.wait == Trigger.NOWAIT:
            return self._send()

        # synchronous
        queue = Queue()
        queue.durable = False
        queue.declare(self._policy.url)
        reply = queue.name

        if self._policy.exchange:
            exchange = Exchange(self._policy.exchange)
            exchange.bind(queue, self._policy.url)
            reply = '/'.join((self._policy.exchange, queue.name))

        try:
            return self._send(reply=reply, queue=queue)
        finally:
            queue.purge(self._policy.url)
            queue.delete(self._policy.url)
示例#3
0
    def __call__(self):
        """
        Trigger pulled.
        Execute the request.
        """
        if not self._pending:
            raise Exception('trigger already executed')
        self._pending = False

        # asynchronous
        if self._policy.reply:
            return self._send(reply=self._policy.reply)
        if self._policy.wait == Trigger.NOWAIT:
            return self._send()

        # synchronous
        queue = Queue()
        queue.durable = False
        queue.declare(self._policy.url)
        reply = queue.name

        if self._policy.exchange:
            exchange = Exchange(self._policy.exchange)
            exchange.bind(queue, self._policy.url)
            reply = '/'.join((self._policy.exchange, queue.name))

        try:
            return self._send(reply=reply, queue=queue)
        finally:
            queue.purge(self._policy.url)
            queue.delete(self._policy.url)
示例#4
0
文件: base.py 项目: jortel/gofer
 def test_no_exchange(self):
     print('test builtin (direct) exchange')
     address = Address('test.10')
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     self.producer_reader(address)
示例#5
0
 def __init__(self, url):
     """
     :param url: The broker URL.
     :type url: str
     """
     queue = Queue(ReplyHandler.REPLY_QUEUE)
     queue.durable = True
     queue.declare(url)
     self.consumer = ReplyConsumer(queue, url=url, authenticator=Authenticator())
示例#6
0
文件: base.py 项目: jortel/gofer
 def test_crud(self):
     print('test CRUD')
     queue = Queue('test.13')
     queue.durable = False
     queue.declare(self.url)
     exchange = Exchange('test_crud_13.direct')
     exchange.declare(self.url)
     exchange.bind(queue, self.url)
     queue.delete(self.url)
     exchange.delete(self.url)
示例#7
0
文件: base.py 项目: pombredanne/gofer
 def test_crud(self):
     print "test CRUD"
     queue = Queue("test.13")
     queue.durable = False
     queue.declare(self.url)
     exchange = Exchange("test_crud_13.direct")
     exchange.declare(self.url)
     exchange.bind(queue, self.url)
     queue.delete(self.url)
     exchange.delete(self.url)
示例#8
0
文件: base.py 项目: stbenjam/gofer
 def test_crud(self):
     print 'test CRUD'
     queue = Queue('test.13')
     queue.durable = False
     queue.declare(self.url)
     exchange = Exchange('test_crud_13.direct')
     exchange.declare(self.url)
     exchange.bind(queue, self.url)
     queue.delete(self.url)
     exchange.delete(self.url)
示例#9
0
文件: base.py 项目: jortel/gofer
 def test_custom_topic_exchange(self):
     print('test custom (topic) exchange')
     address = Address('test_12.topic/test.12')
     exchange = Exchange(address.exchange, policy='topic')
     exchange.durable = False
     exchange.declare(self.url)
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     exchange.bind(queue, self.url)
     self.producer_reader(address)
示例#10
0
文件: base.py 项目: jortel/gofer
 def test_custom_direct_exchange(self):
     print('test custom (direct) exchange')
     address = Address('test_11.direct/test.11')
     exchange = Exchange(address.exchange, policy='direct')
     exchange.durable = False
     exchange.declare(self.url)
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     exchange.bind(queue, self.url)
     self.producer_reader(address)
示例#11
0
文件: base.py 项目: stbenjam/gofer
 def test_custom_direct_exchange(self):
     print 'test custom (direct) exchange'
     address = Address('test_11.direct/test.11')
     exchange = Exchange(address.exchange, policy='direct')
     exchange.durable = False
     exchange.declare(self.url)
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     exchange.bind(queue, self.url)
     self.producer_reader(address)
示例#12
0
文件: base.py 项目: stbenjam/gofer
 def test_custom_topic_exchange(self):
     print 'test custom (topic) exchange'
     address = Address('test_12.topic/test.12')
     exchange = Exchange(address.exchange, policy='topic')
     exchange.durable = False
     exchange.declare(self.url)
     queue = Queue(address.queue)
     queue.durable = False
     queue.declare(self.url)
     exchange.bind(queue, self.url)
     self.producer_reader(address)
示例#13
0
    def __enter__(self):
        """
        Enter the context.
          1. add the configured gofer connector.
          2. declare the agent queue.

        :return: self
        :rtype: Context
        """
        add_connector()
        queue = Queue(self.address, self.url)
        queue.declare()
        return self
示例#14
0
文件: context.py 项目: pcreech/pulp
    def __enter__(self):
        """
        Enter the context.
          1. add the configured gofer connector.
          2. declare the agent queue.

        :return: self
        :rtype: Context
        """
        add_connector()
        queue = Queue(self.address, self.url)
        queue.declare()
        return self
示例#15
0
 def setup(self):
     """
     Setup the broker model.
     """
     if not self.managed:
         # not managed
         return
     url = self.plugin.url
     queue = Queue(self.queue)
     queue.auto_delete = self.expiration > 0
     queue.expiration = self.expiration
     queue.declare(url)
     if self.exchange:
         exchange = Exchange(self.exchange)
         exchange.bind(queue, url)
示例#16
0
 def setup(self):
     """
     Setup the broker model.
     """
     if not self.managed:
         # not managed
         return
     url = self.plugin.url
     queue = Queue(self.queue)
     queue.auto_delete = self.expiration > 0
     queue.expiration = self.expiration
     queue.declare(url)
     if self.exchange:
         exchange = Exchange(self.exchange)
         exchange.bind(queue, url)
示例#17
0
文件: context.py 项目: beav/pulp
 def __init__(self, consumer, **details):
     """
     :param consumer: A consumer DB model object.
     :type consumer: dict
     :param details: A dictionary of information to be round-tripped.
         Primarily used to correlate asynchronous replies.
     :type details: dict
     """
     self.route = 'pulp.agent.%s' % consumer['id']
     self.secret = str(consumer['_id'])
     self.url = Services.get_url()
     self.details = details
     self.reply_queue = ReplyHandler.REPLY_QUEUE
     self.authenticator = Authenticator()
     self.authenticator.load()
     queue = Queue(self.route)
     queue.declare(self.url)
示例#18
0
文件: server.py 项目: roshan/gofer
        yp[u] = p

    if options.auth:
        authenticator = TestAuthenticator()
    else:
        authenticator = None

    Agent.url = url
    Agent.address = address
    Agent.base_options['authenticator'] = authenticator

    # test_memory()

    queue = Queue(address.split('/')[-1].upper())
    queue.durable = False
    queue.declare(url)
    reply_consumer = ReplyConsumer(queue, url=url, authenticator=authenticator)
    reply_consumer.start(on_reply)

    # demo_progress(1)
    # test_performance()

    demo_authentication(yp)
    smoke_test()
    demo_constructors()
    test_triggers()
    demo_getitem()

    n_threads = int(options.threads)
    if n_threads:
        print '======= RUNNING %d THREADS ============' % n_threads
示例#19
0
文件: server.py 项目: swipswaps/gofer
        authenticator = TestAuthenticator()
    else:
        authenticator = None

    Agent.url = url
    Agent.address = address
    Agent.base_options['authenticator'] = authenticator

    # test_plugin_shutdown(1)
    # test_zombie()
    # test_memory()
    test_forked()

    queue = Queue(address.split('/')[-1].upper())
    queue.durable = False
    queue.declare(url)
    reply_consumer = ReplyConsumer(queue, url=url, authenticator=authenticator)
    reply_consumer.start(on_reply)

    test_cancel()
    demo_progress()

    # demo_authentication(yp)
    smoke_test()
    demo_constructors()
    test_triggers()
    demo_getitem()
    demo(Agent())

    n_threads = int(options.threads)
    if n_threads: