Ejemplo n.º 1
0
def get_listener():
    global _listener
    if not _listener:
        with Connection(transport_utils.get_messaging_urls()) as conn:
            _listener = Listener(conn)
            eventlet.spawn_n(listen, _listener)
    return _listener
Ejemplo n.º 2
0
 def start(self):
     try:
         self.connection = Connection(transport_utils.get_messaging_urls())
         self._updates_thread = eventlet.spawn(self.run)
     except:
         LOG.exception('Failed to start sensor_watcher.')
         self.connection.release()
Ejemplo n.º 3
0
def get_listener():
    global _listener
    if not _listener:
        with Connection(transport_utils.get_messaging_urls()) as conn:
            _listener = Listener(conn)
            eventlet.spawn_n(listen, _listener)
    return _listener
Ejemplo n.º 4
0
def register_exchanges():
    LOG.debug("Registering exchanges...")
    connection_urls = transport_utils.get_messaging_urls()

    with transport_utils.get_connection() as conn:
        # Use ConnectionRetryWrapper to deal with rmq clustering etc.
        retry_wrapper = ConnectionRetryWrapper(
            cluster_size=len(connection_urls), logger=LOG
        )

        def wrapped_register_exchanges(connection, channel):
            for exchange in EXCHANGES:
                _do_register_exchange(
                    exchange=exchange,
                    connection=connection,
                    channel=channel,
                    retry_wrapper=retry_wrapper,
                )

        retry_wrapper.run(connection=conn, wrapped_callback=wrapped_register_exchanges)

        def wrapped_predeclare_queues(connection, channel):
            for queue in QUEUES:
                _do_predeclare_queue(channel=channel, queue=queue)

        retry_wrapper.run(connection=conn, wrapped_callback=wrapped_predeclare_queues)
 def start(self):
     try:
         self.connection = Connection(transport_utils.get_messaging_urls())
         self._updates_thread = eventlet.spawn(self.run)
     except:
         LOG.exception('Failed to start sensor_watcher.')
         self.connection.release()
Ejemplo n.º 6
0
def main(queue, exchange, routing_key='#'):
    exchange = Exchange(exchange, type='topic')
    queue = Queue(name=queue, exchange=exchange, routing_key=routing_key,
                  auto_delete=True)

    with Connection(transport_utils.get_messaging_urls()) as connection:
        watcher = QueueConsumer(connection=connection, queue=queue)
        watcher.run()
def get_listener(name):
    global _stream_listener
    global _execution_output_listener

    if name == 'stream':
        if not _stream_listener:
            with Connection(transport_utils.get_messaging_urls()) as conn:
                _stream_listener = StreamListener(conn)
                eventlet.spawn_n(listen, _stream_listener)
        return _stream_listener
    elif name == 'execution_output':
        if not _execution_output_listener:
            with Connection(transport_utils.get_messaging_urls()) as conn:
                _execution_output_listener = ExecutionOutputListener(conn)
                eventlet.spawn_n(listen, _execution_output_listener)
        return _execution_output_listener
    else:
        raise ValueError('Invalid listener name: %s' % (name))
 def test_process_message(self):
     with Connection(transport_utils.get_messaging_urls()) as conn:
         tracker = ResultsTracker(conn, [ACTIONSTATE_WORK_Q])
         tracker._bootstrap()
         state = ActionStateConsumerTests.get_state(
             ActionStateConsumerTests.liveactions['liveaction1.yaml'])
         tracker._queue_consumer._process_message(state)
         querier = tracker.get_querier('tests.resources.test_querymodule')
         self.assertEqual(querier._query_contexts.qsize(), 1)
Ejemplo n.º 9
0
def get_listener(name):
    global _stream_listener
    global _execution_output_listener

    if name == 'stream':
        if not _stream_listener:
            with Connection(transport_utils.get_messaging_urls()) as conn:
                _stream_listener = StreamListener(conn)
                eventlet.spawn_n(listen, _stream_listener)
        return _stream_listener
    elif name == 'execution_output':
        if not _execution_output_listener:
            with Connection(transport_utils.get_messaging_urls()) as conn:
                _execution_output_listener = ExecutionOutputListener(conn)
                eventlet.spawn_n(listen, _execution_output_listener)
        return _execution_output_listener
    else:
        raise ValueError('Invalid listener name: %s' % (name))
Ejemplo n.º 10
0
 def _cleanup_old_queues(self):
     with Connection(transport_utils.get_messaging_urls()) as connection:
         for q in self.OLD_QS:
             bound_q = q(connection.default_channel)
             try:
                 bound_q.delete()
             except:
                 print('Failed to delete %s.' % q.name)
                 traceback.print_exc()
Ejemplo n.º 11
0
 def test_process_message(self):
     with Connection(transport_utils.get_messaging_urls()) as conn:
         tracker = ResultsTracker(conn, [ACTIONSTATE_WORK_Q])
         tracker._bootstrap()
         state = ActionStateConsumerTests.get_state(
             ActionStateConsumerTests.liveactions['liveaction1.yaml'])
         tracker._queue_consumer._process_message(state)
         querier = tracker.get_querier('tests.resources.test_querymodule')
         self.assertEqual(querier._query_contexts.qsize(), 1)
def main(queue, exchange, routing_key='#'):
    exchange = Exchange(exchange, type='topic')
    queue = Queue(name=queue,
                  exchange=exchange,
                  routing_key=routing_key,
                  auto_delete=True)

    with Connection(transport_utils.get_messaging_urls()) as connection:
        watcher = QueueConsumer(connection=connection, queue=queue)
        watcher.run()
Ejemplo n.º 13
0
 def __init__(self, urls=None):
     """
     :param urls: Connection URLs to use. If not provided it uses a default value from th
                  config.
     :type urls: ``list``
     """
     urls = urls or transport_utils.get_messaging_urls()
     connection = transport_utils.get_connection(
         urls=urls, connection_kwargs={"failover_strategy": "round-robin"})
     self.pool = connection.Pool(limit=10)
     self.cluster_size = len(urls)
Ejemplo n.º 14
0
 def __init__(self, urls=None):
     """
     :param urls: Connection URLs to use. If not provided it uses a default value from th
                  config.
     :type urls: ``list``
     """
     urls = urls or transport_utils.get_messaging_urls()
     connection = transport_utils.get_connection(urls=urls,
                                                 connection_kwargs={'failover_strategy':
                                                                    'round-robin'})
     self.pool = connection.Pool(limit=10)
     self.cluster_size = len(urls)
Ejemplo n.º 15
0
def register_exchanges():
    LOG.debug('Registering exchanges...')
    connection_urls = transport_utils.get_messaging_urls()
    with Connection(connection_urls) as conn:
        # Use ConnectionRetryWrapper to deal with rmq clustering etc.
        retry_wrapper = ConnectionRetryWrapper(cluster_size=len(connection_urls), logger=LOG)

        def wrapped_register_exchanges(connection, channel):
            for exchange in EXCHANGES:
                _do_register_exchange(exchange=exchange, connection=connection, channel=channel,
                                      retry_wrapper=retry_wrapper)

        retry_wrapper.run(connection=conn, wrapped_callback=wrapped_register_exchanges)
Ejemplo n.º 16
0
def register_exchanges():
    LOG.debug('Registering exchanges...')
    connection_urls = transport_utils.get_messaging_urls()
    with Connection(connection_urls) as conn:
        # Use ConnectionRetryWrapper to deal with rmq clustering etc.
        retry_wrapper = ConnectionRetryWrapper(cluster_size=len(connection_urls), logger=LOG)

        def wrapped_register_exchanges(connection, channel):
            for exchange in EXCHANGES:
                _do_register_exchange(exchange=exchange, connection=connection, channel=channel,
                                      retry_wrapper=retry_wrapper)

        retry_wrapper.run(connection=conn, wrapped_callback=wrapped_register_exchanges)
Ejemplo n.º 17
0
 def __init__(self, exchange):
     urls = transport_utils.get_messaging_urls()
     self._state_publisher = SharedPoolPublishers().get_publisher(urls=urls)
     self._state_exchange = exchange
Ejemplo n.º 18
0
def get_handler():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return FakeMessageHandler(conn, [FAKE_WORK_Q])
Ejemplo n.º 19
0
 def __init__(self, logger=LOG):
     self._publisher = AnnouncementPublisher(
         urls=transport_utils.get_messaging_urls())
     self._logger = logger
Ejemplo n.º 20
0
def get_tracker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ResultsTracker(conn, [ACTIONSTATE_WORK_Q])
Ejemplo n.º 21
0
def get_tracker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ResultsTracker(conn, [RESULTSTRACKER_ACTIONSTATE_WORK_QUEUE])
Ejemplo n.º 22
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = FakeModelPublisher(transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 23
0
 def __init__(self, logger=LOG):
     self._publisher = TriggerInstancePublisher(
         urls=transport_utils.get_messaging_urls())
     self._logger = logger
Ejemplo n.º 24
0
def get_notifier():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return Notifier(conn, [ACTIONUPDATE_WORK_Q], trigger_dispatcher=TriggerDispatcher(LOG))
Ejemplo n.º 25
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.liveaction.LiveActionPublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 26
0
def get_scheduler_entrypoint():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return SchedulerEntrypoint(conn, [ACTIONSCHEDULER_REQUEST_QUEUE])
Ejemplo n.º 27
0
 def __init__(self, exchange):
     urls = transport_utils.get_messaging_urls()
     self._state_publisher = SharedPoolPublishers().get_publisher(urls=urls)
     self._state_exchange = exchange
Ejemplo n.º 28
0
def get_scheduler():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionScheduler(conn, [ACTIONRUNNER_REQUEST_Q])
Ejemplo n.º 29
0
    def _get_publisher(cls):
        if not cls.publisher:
            cls.publisher = transport.workflow.WorkflowExecutionPublisher(
                urls=transport_utils.get_messaging_urls())

        return cls.publisher
Ejemplo n.º 30
0
def get_engine():
    with kombu.Connection(txpt_utils.get_messaging_urls()) as conn:
        return WorkflowExecutionHandler(conn, WORKFLOW_EXECUTION_QUEUES)
Ejemplo n.º 31
0
def main(exchange, routing_key, payload):
    exchange = Exchange(exchange, type='topic')
    publisher = PoolPublisher(urls=transport_utils.get_messaging_urls())
    publisher.publish(payload=payload, exchange=exchange, routing_key=routing_key)
Ejemplo n.º 32
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return TriggerInstanceDispatcher(conn, [RULESENGINE_WORK_QUEUE])
Ejemplo n.º 33
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.reactor.TriggerCUDPublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 34
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.liveaction.LiveActionPublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 35
0
def get_tracker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ResultsTracker(conn, [RESULTSTRACKER_ACTIONSTATE_WORK_QUEUE])
Ejemplo n.º 36
0
 def __init__(self, logger=LOG):
     self._publisher = TriggerInstancePublisher(urls=transport_utils.get_messaging_urls())
     self._logger = logger
Ejemplo n.º 37
0
def get_handler():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return FakeMessageHandler(conn, [FAKE_WORK_Q])
Ejemplo n.º 38
0
def get_tracker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ResultsTracker(conn, [ACTIONSTATE_WORK_Q])
Ejemplo n.º 39
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.execution.ActionExecutionOutputPublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 40
0
def get_scheduler():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionScheduler(conn, [ACTIONSCHEDULER_REQUEST_QUEUE])
Ejemplo n.º 41
0
Archivo: worker.py Proyecto: hejin/st2
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionDispatcher(conn, [ACTIONRUNNER_WORK_Q, ACTIONRUNNER_CANCEL_Q])
Ejemplo n.º 42
0
 def __init__(self, logger=LOG):
     self._publisher = AnnouncementPublisher(urls=transport_utils.get_messaging_urls())
     self._logger = logger
Ejemplo n.º 43
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionDispatcher(conn, ACTIONRUNNER_QUEUES)
Ejemplo n.º 44
0
def get_engine():
    with kombu.Connection(txpt_utils.get_messaging_urls()) as conn:
        return WorkflowDispatcher(conn, WORKFLOW_EXECUTION_QUEUES)
def main(exchange, routing_key, payload):
    exchange = Exchange(exchange, type='topic')
    publisher = PoolPublisher(urls=transport_utils.get_messaging_urls())
    publisher.publish(payload=payload, exchange=exchange, routing_key=routing_key)
Ejemplo n.º 46
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.actionexecutionstate.ActionExecutionStatePublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher
Ejemplo n.º 47
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionDispatcher(conn, ACTIONRUNNER_QUEUES)
Ejemplo n.º 48
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ActionExecutionDispatcher(
            conn, [ACTIONRUNNER_WORK_Q, ACTIONRUNNER_CANCEL_Q])
Ejemplo n.º 49
0
    def _get_publisher(cls):
        if not cls.publisher:
            cls.publisher = transport.workflow.WorkflowExecutionPublisher(
                urls=transport_utils.get_messaging_urls())

        return cls.publisher
Ejemplo n.º 50
0
def get_notifier():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return Notifier(conn, [ACTIONUPDATE_WORK_Q],
                        trigger_dispatcher=TriggerDispatcher(LOG))
Ejemplo n.º 51
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return TriggerInstanceDispatcher(conn, [RULESENGINE_WORK_Q])
Ejemplo n.º 52
0
def get_worker():
    with Connection(transport_utils.get_messaging_urls()) as conn:
        return ExecutionsExporter(conn, [EXPORTER_WORK_Q])
Ejemplo n.º 53
0
 def _get_publisher(cls):
     if not cls.publisher:
         cls.publisher = transport.execution.ActionExecutionOutputPublisher(
             urls=transport_utils.get_messaging_urls())
     return cls.publisher