""" Grass Server ============ This server follows requirements set for amazon preconfigured docker. You can learn more here: http://amzn.to/1CJ6tDs. Caution: this server is for live, if you use it in your dev environment, it may not work as intended. """ # patch before importing tornado and concurrent.futures from ddtrace import patch_all patch_all(tornado=True, httplib=True) import argparse import tornado.autoreload from tornado.ioloop import IOLoop from grass import api from grass import config from grass import handlers from grass import register_services from grass.utils import response from grass.logic.jwt_enabled_services import jwtEnabledServices @api.route(config.HEALTH_CHECK, access=[lambda x: True]) def hello_world(request): return response.Response(message='Hello World!') app = api.app if __name__ == '__main__': jwtInstance = jwtEnabledServices.getInstance() jwtInstance.cacheJwtEnabledServices() log = jwtInstance.logger() log.info( f'JwtEnabledServices: ' f'On docker start cache jwt enabled services data') parser = argparse.ArgumentParser() parser.add_argument( '--port', dest='port', default=8080, help='Optional port to launch the service.') args = parser.parse_args() app.listen(args.port) if config.environment == config.DEV_ENVIRONMENT: tornado.autoreload.start() IOLoop.current().start()