Skip to content

Commit

Permalink
fix startup
Browse files Browse the repository at this point in the history
  • Loading branch information
jschlyter committed Oct 27, 2023
1 parent 0ed0f0b commit be99823
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ push-container:
docker push $(CONTAINER)

server: clients clients/test.pem
poetry run flask --app 'aggrec.app:create_app("../example.toml")' run --debug
poetry run aggrec_server --config example.toml --host 127.0.0.1 --port 8080 --debug

client: test-private.pem
python3 tools/client.py
Expand Down
40 changes: 26 additions & 14 deletions aggrec/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

logger = logging.getLogger(__name__)

app = FastAPI()
app = None


def configure_app(config_filename: Optional[str]):
Expand All @@ -37,6 +37,24 @@ def connect_mongodb(settings: Settings):
mongoengine.connect(**params, tz_aware=True)


def create_app(config_filename: Optional[str]):
app = FastAPI()

settings = configure_app(config_filename)

@lru_cache
def get_settings_override():
logger.debug("Returning settings")
return settings

app.include_router(aggrec.aggregates.router)
app.dependency_overrides[aggrec.aggregates.get_settings] = get_settings_override

connect_mongodb(settings)

return app


def main() -> None:
"""Main function"""

Expand All @@ -48,7 +66,9 @@ def main() -> None:
parser.add_argument(
"--host", dest="host", help="Host address to bind to", default="0.0.0.0"
)
parser.add_argument("--port", dest="port", help="Port to listen on", default=8080)
parser.add_argument(
"--port", dest="port", type=int, help="Port to listen on", default=8080
)
parser.add_argument(
"--debug", dest="debug", action="store_true", help="Enable debugging"
)
Expand All @@ -57,22 +77,14 @@ def main() -> None:

if args.debug:
logging.basicConfig(level=logging.DEBUG)
log_level = "debug"
else:
logging.basicConfig(level=logging.INFO)
log_level = "info"

settings = configure_app(args.config)

@lru_cache
def get_settings_override():
logger.debug("Returning settings")
return settings

app.include_router(aggrec.aggregates.router)
app.dependency_overrides[aggrec.aggregates.get_settings] = get_settings_override

connect_mongodb(settings)
app = create_app(args.config)

uvicorn.run("aggrec.server:app", host=args.host, port=args.port, log_level="info")
uvicorn.run(app, host=args.host, port=args.port, log_level=log_level)


if __name__ == "__main__":
Expand Down

0 comments on commit be99823

Please sign in to comment.