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))
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()
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()
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()
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()