Beispiel #1
0
 def __init__(self, url, exchange, reconnect_delay=5.0, io_loop=None):
     self._url = url
     self._exchange = exchange
     self._reconnect_delay = reconnect_delay
     self._io_loop = io_loop or registry.io_loop()
     self._connection = None
     self._closing = False
     self._consumers = set()
Beispiel #2
0
 def __init__(self, exchange, queue, routing_key, handler, io_loop=None):
     self._exchange = exchange
     self._queue = queue
     self._routing_key = routing_key
     self._handler = handler
     self.running = False
     self._connection = None
     self._io_loop = io_loop or registry.io_loop()
Beispiel #3
0
from tornado import gen

from event_mq import decorators, event, registry


@decorators.event_handler('tests.main.hello')
def hello_handler(msg):
    print('type of msg: %s' % type(msg))
    if isinstance(msg, event.DomainEvent):
        print('content of msg: %s' % event._dumps(msg))
    else:
        print('content of msg: %s \n' % msg)


async def test():
    for i in range(10):
        en = event.DomainEvent('tests.main.hello',
                               content='message %s' % i,
                               info='hello, world')
        res = await event.publish_async(en)
        print('send msg %s success: %s' % (i, res))
        await gen.sleep(0.5)


if __name__ == '__main__':
    registry.io_loop().call_later(1, test)
    registry.io_loop().start()
Beispiel #4
0
# coding: utf-8
from event_mq import event, mq_server, settings, registry

# register mq_servers
for name, data in settings.get('MQ_SERVERS').items():
    server = mq_server.MqServer(data['url'], data['exchange'],
                                data.get('reconnect_delay', 5),
                                registry.io_loop())
    server.start()
    registry.Registry._add_mq_server(name, server)
Beispiel #5
0
def publish(event, mq_server='default'):
    server = registry.get_mq_server(mq_server)
    if not server:
        raise Exception('cannot find named "{0}" mq_server'.format(mq_server))
    registry.io_loop().spawn_callback(server.publish_async, event.event_name, _dumps(event))