def main(user):
    nc = Client()
    try:
        server = Configuration('global').get('message_queue')
        opts = {"servers": ['nats://{}:{}'.format(server['host'],
                                                  server['port'])]}
        print('Connecting to {}'.format(server))
        yield nc.connect(**opts)
        data = make_message(user)
        yield nc.publish('userAction', data)
        yield nc.flush()
        print("Published to '{0}'".format(data))
    except Exception as exc:
        print(exc)
        raise exc