def setup_logging(): config = { "version": 1, "disable_existing_loggers": False, "filters": { "gunicorn_filter": { "()": GunicornFilter } }, "formatters": { "standard": { "format": settings.get("LOG_FORMAT"), "datefmt": settings.get("LOG_DATE_FORMAT") } }, "handlers": { "console": { "formatter": "standard", "class": "logging.StreamHandler", "filters": ["gunicorn_filter"], } }, "loggers": { "": { "handlers": ["console"], "level": settings.get("LOG_LEVEL") } } } logging.config.dictConfig(config)
def setup_logging(): config = { "version": 1, "disable_existing_loggers": False, "filters": { "gunicorn_filter": { "()": GunicornFilter } }, "formatters": { "standard": { "format": settings.get("LOG_FORMAT"), "datefmt": settings.get("LOG_DATE_FORMAT") } }, "handlers": { "console": { "formatter": "standard", "class": "logging.StreamHandler", "filters": ["gunicorn_filter"], } }, "loggers": { "": { "handlers": settings.get("LOG_HANDLERS").split(','), "level": settings.get("LOG_LEVEL") } } } logging.config.dictConfig(config)
def _post_fork(server=None, w=None): # Setup database connection # Connect to mongo_db after forking gunicorn MongoStorage(db_name=settings.get('db_name'), mongo_uri=settings.get('mongo_uri')) _config_logging()
def test_config_override(): configure() assert settings.get("APP_NAME") == "app" configure(app_name="new_name") assert settings.get("APP_NAME") == "new_name"
def process_response(self, req, resp, resource): resp.set_header("Access-Control-Allow-Origin", settings.get("ACCESS_CONTROL_ALLOW_ORIGIN")) resp.set_header("Access-Control-Allow-Methods", settings.get("ACCESS_CONTROL_ALLOW_METHODS")) resp.set_header("Access-Control-Allow-Credentials", settings.get("ACCESS_CONTROL_ALLOW_CREDENTIALS")) resp.set_header("Access-Control-Allow-Headers", settings.get("ACCESS_CONTROL_ALLOW_HEADERS"))
def add_settings_to_kwargs(kwargs: Dict[str, str]) -> Dict[str, str]: json_datetime_mode = settings.get("JSON_DATETIME_MODE") json_number_mode = settings.get("JSON_NUMBER_MODE") json_uuid_mode = settings.get("JSON_UUID_MODE") datetime_mode = (getattr(rapidjson, json_datetime_mode) if hasattr( rapidjson, json_datetime_mode or "") else None) number_mode = (getattr(rapidjson, json_number_mode) if hasattr( rapidjson, json_number_mode or "") else None) uuid_mode = (getattr(rapidjson, json_uuid_mode) if hasattr( rapidjson, json_uuid_mode or "") else None) if "datetime_mode" not in kwargs: kwargs["datetime_mode"] = datetime_mode if "number_mode" not in kwargs: kwargs["number_mode"] = number_mode if "uuid_mode" not in kwargs: kwargs["uuid_mode"] = uuid_mode return kwargs
def create_app() -> falcon.API: mw = [] if settings.get_bool("CORS_ENABLED"): if crossorigin_available is False: raise ImportError( "'cors-enabled' set but falcon-crossorigin is not installed, " "you must install it first to use CORS headers") cors = CrossOrigin( allow_origins=settings.get("CORS_ALLOW_ORIGINS"), allow_methods=settings.get("CORS_ALLOW_METHODS"), allow_headers=settings.get("CORS_ALLOW_HEADERS"), allow_credentials=settings.get_bool("CORS_ALLOW_CREDENTIALS"), expose_headers=settings.get("CORS_EXPOSE_HEADERS"), max_age=settings.get_int("CORS_MAX_AGE"), ) mw.append(cors) app = falcon.API(middleware=mw) dump_kwargs = {"ensure_ascii": False, "sort_keys": True} kwargs = json.add_settings_to_kwargs({}) dump_kwargs.update(kwargs) json_handler = falcon.media.JSONHandler( dumps=partial(json.dumps, **dump_kwargs), loads=partial(json.loads, **kwargs), ) extra_handlers = { falcon.MEDIA_JSON: json_handler, } app.req_options.media_handlers.update(extra_handlers) app.resp_options.media_handlers.update(extra_handlers) app.add_error_handler(Exception, error_handler) setup_routes(app) return app
def _post_fork(server=None, w=None): _config_logging() start() def _config_logging(): for logger in 'gunicorn.access', 'gunicorn.error': logging.getLogger(logger).propagate = True logging.getLogger(logger).handlers = [] if __name__ == '__main__': app = init_app() env_name = settings.get("ENV_NAME") default_workers = (multiprocessing.cpu_count() * 2) + 1 opts = { "accesslog": settings.get("ACCESS_LOG"), "access_log_format": settings.get("ACCESS_LOG_FORMAT"), "bind": settings.get("BIND"), "errorlog": settings.get("ERROR_LOG"), "keepalive": settings.get("KEEP_ALIVE"), "post_fork": _post_fork, "proc_name":
def start(): logger.info("Starting {}".format(settings.get("APP_NAME"))) logger.info("Environment: {}".format(settings.get("ENV_NAME")))
def _post_fork(server=None, w=None): _config_logging() start() def _config_logging(): for logger in 'gunicorn.access', 'gunicorn.error': logging.getLogger(logger).propagate = True logging.getLogger(logger).handlers = [] if __name__ == '__main__': app = init_app() env_name = settings.get("ENV_NAME") default_workers = (multiprocessing.cpu_count() * 2) + 1 opts = { "accesslog": settings.get("ACCESS_LOG"), "access_log_format": settings.get("ACCESS_LOG_FORMAT"), "bind": settings.get("BIND"), "errorlog": settings.get("ERROR_LOG"), "keepalive": settings.get("KEEP_ALIVE"), "post_fork": _post_fork, "proc_name": settings.get("APP_NAME"), "max_requests": settings.get("MAX_REQUESTS"), "max_requests_jitter": settings.get("MAX_REQUESTS_JITTER"), "worker_class": settings.get("WORKER_CLASS"), "workers": settings.get("WORKERS") or (1 if env_name == "LOCAL" else default_workers) }
def _post_fork(server=None, w=None): _config_logging() start() def _config_logging(): for logger in "gunicorn.access", "gunicorn.error": logging.getLogger(logger).propagate = True logging.getLogger(logger).handlers = [] if __name__ == "__main__": app = init_app() env_name = settings.get("ENV_NAME") default_workers = (multiprocessing.cpu_count() * 2) + 1 opts = { "accesslog": settings.get("ACCESS_LOG"), "access_log_format": settings.get("ACCESS_LOG_FORMAT"), "bind": settings.get("BIND"), "errorlog": settings.get("ERROR_LOG"), "keepalive": settings.get("KEEP_ALIVE"), "post_fork": _post_fork, "proc_name": settings.get("APP_NAME"), "max_requests": settings.get("MAX_REQUESTS"), "max_requests_jitter": settings.get("MAX_REQUESTS_JITTER"), "worker_class": settings.get("WORKER_CLASS"), "workers": settings.get("WORKERS") or (1 if env_name == "LOCAL" else default_workers), }