Exemplo n.º 1
0
 def bind(self, name):
     """"
     bind exchanges with name and config in BIND_DICT
     :param name:
     :return:
     """
     if name not in self.BIND_DICT or name not in self.DICT:
         return False
     exchange_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(exchange_info)
     list_exchange_bind = self.BIND_DICT[name]
     for config_bind in list_exchange_bind:
         try:
             LOGGER.info(
                 "Bind exchange: [{}] to [{}] with routing_key: [{}]".
                 format(name, config_bind['name'],
                        config_bind['routing_key']))
             channel.exchange_bind(source=name,
                                   destination=config_bind['name'],
                                   routing_key=config_bind['routing_key'],
                                   arguments=config_bind['arguments'])
         except:
             LOGGER.exception("Not found exchange {}".format(
                 config_bind['name']))
     return True
Exemplo n.º 2
0
 def remove(self, name):
     if name not in self.DICT:
         return False
     exchange_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(exchange_info)
     LOGGER.info('Remove exchange {}'.format(name))
     channel.exchange_delete(name)
     return True
Exemplo n.º 3
0
    def purge(self, name):
        if name in self.DICT:
            queue_info = self.DICT[name]
            channel = CHANNEL_MANAGER.get_channel(queue_info)
            channel.queue_purge(name)
            LOGGER.info('Purge queue {} '.format(name))
            return True

        return False
Exemplo n.º 4
0
 def remove(self, name, if_unused=False, if_empty=False):
     queue_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(queue_info)
     x = channel.queue_delete(queue=name,
                              if_unused=if_unused,
                              if_empty=if_empty)
     if x.method.NAME == 'Queue.DeleteOk':
         LOGGER.info('Deleted queue {} '.format(name))
         return True
     return False
Exemplo n.º 5
0
 def remove_all(self):
     """
     Remove  all exchange in DICT
     :return:
     """
     LOGGER.info('Start remove all exchange...')
     for name in self.DICT:
         exchange_info = self.DICT[name]
         channel = CHANNEL_MANAGER.get_channel(exchange_info)
         LOGGER.info('Remove exchange {}'.format(name))
         channel.exchange_delete(name)
Exemplo n.º 6
0
 def declare(self, name):
     """"
     Declare queue with name(key) and config in settings.QUEUES
     :param name: key of queue in settings.QUEUES
     :return:
     """
     if name not in self.DICT:
         return False
     LOGGER.info('Declare queue {}'.format(name))
     queue_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(queue_info)
     config = queue_info['config']
     channel.queue_declare(queue=name, **config)
     LOGGER.info('Queue {} is declared'.format(name))
     return True
Exemplo n.º 7
0
 def declare(self, name):
     """"
     declare exchanges with name and config in DICT
     :param name:
     :return:
     """
     if name not in self.DICT:
         return False
     LOGGER.info('Starting Declare exchange {}'.format(name))
     exchange_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(exchange_info)
     config = exchange_info['config']
     exchange_type = exchange_info['type']
     channel.exchange_declare(exchange=name,
                              exchange_type=exchange_type,
                              **config)
     LOGGER.info('Exchange {} is declared'.format(name))
     return True
Exemplo n.º 8
0
 def bind(self, name):
     """"
     Bind queue to exchange with name_exchange, routing_key, arguments in settings.QUEUES
     :param name: key of queue in settings.QUEUES
     :return:
     """
     if name not in self.DICT:
         return False
     queue_info = self.DICT[name]
     channel = CHANNEL_MANAGER.get_channel(queue_info)
     list_exchange_bind = self.BIND_DICT[name]
     for config_bind in list_exchange_bind:
         try:
             LOGGER.info(
                 "Bind to exchange:[{}] with routing_key: [{}]".format(
                     config_bind['exchange'], config_bind['routing_key']))
             channel.queue_bind(queue=name,
                                exchange=config_bind['exchange'],
                                routing_key=config_bind['routing_key'],
                                arguments=config_bind['arguments'])
         except:
             LOGGER.exception()
     return True