statisticsnorway/dapla-start-api

App fails to start: Cannot add middleware after an application has started

Closed this issue · 0 comments

│ dapla-start-api-cont   File "/root/.cache/pypoetry/virtualenvs/dapla-start-api-9TtSrW0h-py3.9/lib/python3.9/site-packages/starlette/routing.py", line 677, in lifespan                                            │
│ dapla-start-api-cont     async with self.lifespan_context(app) as maybe_state:                                                                                                                                    │
│ dapla-start-api-cont   File "/root/.cache/pypoetry/virtualenvs/dapla-start-api-9TtSrW0h-py3.9/lib/python3.9/site-packages/starlette/routing.py", line 566, in __aenter__                                          │
│ dapla-start-api-cont     await self._router.startup()                                                                                                                                                             │
│ dapla-start-api-cont   File "/root/.cache/pypoetry/virtualenvs/dapla-start-api-9TtSrW0h-py3.9/lib/python3.9/site-packages/starlette/routing.py", line 654, in startup                                             │
│ dapla-start-api-cont     await handler()                                                                                                                                                                          │
│ dapla-start-api-cont   File "/app/server/api.py", line 26, in startup_event                                                                                                                                       │
│ dapla-start-api-cont     Instrumentator(excluded_handlers=["/health/.*", "/metrics"]).instrument(app).expose(                                                                                                     │
│ dapla-start-api-cont   File "/root/.cache/pypoetry/virtualenvs/dapla-start-api-9TtSrW0h-py3.9/lib/python3.9/site-packages/prometheus_fastapi_instrumentator/instrumentation.py", line 198, in instrument          │
│ dapla-start-api-cont     app.add_middleware(                                                                                                                                                                      │
│ dapla-start-api-cont   File "/root/.cache/pypoetry/virtualenvs/dapla-start-api-9TtSrW0h-py3.9/lib/python3.9/site-packages/starlette/applications.py", line 139, in add_middleware                                 │
│ dapla-start-api-cont     raise RuntimeError("Cannot add middleware after an application has started")                                                                                                             │
│ dapla-start-api-cont RuntimeError: Cannot add middleware after an application has started                                                                                                                         │
│ dapla-start-api-cont                                                                                                                                                                                              │
│ dapla-start-api-cont ERROR:    Application startup failed. Exiting.

Seen on staging.