async def init_app(): app = web.Application(debug=True, client_max_size=1024**2) secret_key = base64.urlsafe_b64decode(BaseConfig.secret_key) setup(app, EncryptedCookieStorage(secret_key)) aiohttp_jinja2.setup(app, loader=jinja2.PackageLoader(package_name="app", package_path="templates"), context_processors=[current_user_ctx_proccessor]) setup_routes(app) setup_api_routes(app) setup_static_routes(app) config = BaseConfig.load_config(args.config) app['config'] = config db_pool = await init_db(app) log.debug(app['config']) if args.reload: print() print("------------------------------") print("Start with code reload") aioreloader.start() return app
def start(self): if self.config.DEBUG: import aioreloader aioreloader.start() web.run_app(self.app, port=self.config.PORT)
def main(): config.parse_args(sys.argv[1:]) setup_logging() print_config() create_missing_dirs() storage = build_storage() storage.open() app = create_app(storage, config['sync.url']) if config['debug'] and aioreloader: aioreloader.start(hook=storage.close) try: socket_path = config['api.socket'] logger.info('Starting server on socket {}'.format(socket_path)) web.run_app(app, path=socket_path) except Exception as e: logger.error('Backend error: {}'.format(e)) raise finally: storage.close() logger.info('nete-backend ended.')
async def init_app(): app = web.Application() secret_key = base64.urlsafe_b64decode(BaseConfig.secret_key) setup(app, EncryptedCookieStorage(secret_key)) aiohttp_jinja2.setup(app, loader=jinja2.PackageLoader(package_name='app', package_path='templates'), context_processors=[current_user_ctx_proccessor]) setup_routes(app) setup_static_routes(app) config = BaseConfig.load_config(args.config) app['config'] = config if args.reload: print() print('-------------------------------------------------') print("Start with code reload") aioreloader.start() app.on_startup.append(on_start) app.on_cleanup.append(on_shutdown) return app
def run(): app = web.Application(middlewares=[ submissions_middleware, response_middleware, error_middleware ]) app.on_startup.append(on_startup) app.on_cleanup.append(on_cleanup) scanner = venusian.Scanner(router=app.router) scanner.scan(playlog.web) if config.DEBUG: import aioreloader aioreloader.start() web.run_app(app, host=config.SERVER_HOST, port=config.SERVER_PORT)
def main(): parser = argparse.ArgumentParser(description="Demo aiohttp project") parser.add_argument('--host', help='host', default='127.0.0.1') parser.add_argument('--port', help='port', default=5000) parser.add_argument('--reload', action="store_true", help="autoreload") parser.add_argument('--config', type=argparse.FileType('r'), help="conf file") args = parser.parse_args() app = async_create_app(load_config(args.config)) if args.reload: print("Start with code reloader") import aioreloader aioreloader.start() aiohttp.web.run_app(app, host=args.host, port=args.port)
def parse_arguments(app): parser = ArgumentParser() parser.add_argument('--host', type=str, help='Host to listen', default='0.0.0.0') parser.add_argument('--port', help='Port to access connections', default=8080) parser.add_argument('--reload', action='store_true', help='Autoreload code on change') args = parser.parse_args() if args.reload: # logging.debug('Starts with code reload') aioreloader.start() return args
def main(): """ Initialize and Create an application instance. During initialization an application is created, set it with config object, initialize a mongo db and register routes Function is called when the module is run directly """ vertebra = Vertebral() logger = vertebra.getLogger() config = vertebra.load_config(DEFAULT_CONFIG_PATH) app = web.Application(middlewares=MIDDLEWARES, logger=logger) aioreloader.start() setup(app, EncryptedCookieStorage(b'Thirty two length bytes key.')) app["config"] = config app["logger"] = logger # TODO Probar bien queo que no hace falta app['prefix'] = vertebra.set_path_prefix() # Set Swagger and Openapi3 swagger = vertebra.set_swagger_config(app) swagger.validate = config['swagger']["enabled"] # Load Routes, Match Endpoint with Handller vertebra.load_routes(swagger) # Setup Mongo Client app["mongo"] = \ MongoModel().setup_client(config['mongo']['uri'], config['mongo']['db_name']) # Load Load Initial authentication Data if is necesary # await vertebra.load_initial_auth_data(app["mongo"]) # Set vertebra app["vertebra"] = vertebra logger.info(f'All Systems are ready') web.run_app(app, host=config["host"], port=config['port'])
def run(self): self.reloader = aioreloader.start(loop=self.loop) http_server = self.loop.create_server( self.handler, self.host, self.port, ) self.http_server = self.loop.run_until_complete(http_server) try: logging.info('App was started. ' 'Running on %(host)s:%(port)s', {'host': self.host, 'port': self.port}) self.loop.run_forever() except KeyboardInterrupt: pass finally: self.reloader.cancel() logging.info('Aioreloader is closing') self.http_server.close() logging.info('HTTP Server is closing') self.loop.run_until_complete(self.http_server.wait_closed()) logging.info('HTTP Server is closed') self.loop.run_until_complete(self.app.shutdown()) logging.info('App was shutdown') self.loop.run_until_complete(self.handler.shutdown()) logging.info('Handler is shutting down') self.loop.run_until_complete(self.app.cleanup()) self.loop.close() logging.info('App was finished')
import aiohttp import aioreloader from demo.app import create_app try: import uvloop asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) except ImportError: print('Library uvloop isn\'t available.') parser = argparse.ArgumentParser(description='Demo Project') parser.add_argument('--host', help='host to listen', default='0.0.0.0') parser.add_argument('--port', help='port to accept connections', default=8080) parser.add_argument('--reload', action='store_true', help='auto-reload code on change') args = parser.parse_args() app = create_app() if args.reload: print('Start with code reload') app = aiohttp.web.Application() aioreloader.start() if __name__ == '__main__': aiohttp.web.run_app(app, host=args.host, port=args.port)
def start(self): import aioreloader aioreloader.start() web.run_app(self.app, port=9002)
def main(): if args.reload: aioreloader.start() logging.warning('Autoreload is started') app = create_app(config=load_config(args.config)) aiohttp.web.run_app(app, host=args.host, port=args.port)