Example #1
0
def notify_new_user(user, config):
    client = Nats()
    server = 'nats://{}:{}'.format(config['host'], config['port'])
    opts = {"servers": [server]}
    yield client.connect(**opts)
    notif = {
        'message': 'created',
        'user_name': '{0}'.format(user.name),
        'user_id': '{0}'.format(user.user_id)
    }
    yield client.publish('userAction', json.dumps(notif))
    yield client.flush()
    log.info("New user notification sent on NATS for {0}".format(user.user_id))
Example #2
0
def key_handler(config):
    """NATS handler for discover_key events."""
    client = Nats()
    server = 'nats://{}:{}'.format(config['host'], config['port'])
    servers = [server]

    opts = {"servers": servers}
    yield client.connect(**opts)

    # create and register subscriber(s)
    key_subscriber = subscribers.KeyAction(client)
    future = client.subscribe("keyAction", "keyQueue", key_subscriber.handler)
    log.info("nats subscription started for keyAction")
    future.result()
Example #3
0
def contact_update_handler(config):
    """NATS handler for contact update events."""
    client = Nats()
    server = 'nats://{}:{}'.format(config['host'], config['port'])
    servers = [server]

    opts = {"servers": servers}
    yield client.connect(**opts)

    # create and register subscriber(s)
    contact_subscriber = subscribers.ContactAction(client)
    future = client.subscribe("contactAction", "contactQueue",
                              contact_subscriber.handler)
    log.info("nats subscription started for contactAction")
    future.result()
Example #4
0
def inbound_handler(config):
    """Inbound message NATS handler."""
    client = Nats()
    server = 'nats://{}:{}'.format(config['host'], config['port'])
    servers = [server]

    opts = {"servers": servers}
    yield client.connect(**opts)

    # create and register subscriber(s)
    inbound_email_sub = subscribers.InboundEmail(client)
    future = client.subscribe("inboundSMTP", "SMTPqueue",
                              inbound_email_sub.handler)
    log.info("nats subscription started for inboundSMTP")
    future.result()
Example #5
0
def inbound_twitter_handler(config):
    """Inbound twitterDM NATS handler"""
    client = Nats()
    server = 'nats://{}:{}'.format(config['host'], config['port'])
    servers = [server]

    opts = {"servers": servers}
    yield client.connect(**opts)

    # create and register subscriber(s)
    inbound_twitter_sub = subscribers.InboundTwitter(client)
    future = client.subscribe("inboundTwitter", "Twitterqueue",
                              inbound_twitter_sub.handler)
    log.info("nats subscription started for inboundTwitter")
    future.result()