mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
45
server/poetry.lock
generated
45
server/poetry.lock
generated
@@ -1835,6 +1835,49 @@ urllib3 = ">=1.21.1,<3"
|
|||||||
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
socks = ["PySocks (>=1.5.6,!=1.5.7)"]
|
||||||
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "sentry-sdk"
|
||||||
|
version = "1.29.2"
|
||||||
|
description = "Python client for Sentry (https://sentry.io)"
|
||||||
|
optional = false
|
||||||
|
python-versions = "*"
|
||||||
|
files = [
|
||||||
|
{file = "sentry-sdk-1.29.2.tar.gz", hash = "sha256:a99ee105384788c3f228726a88baf515fe7b5f1d2d0f215a03d194369f158df7"},
|
||||||
|
{file = "sentry_sdk-1.29.2-py2.py3-none-any.whl", hash = "sha256:3e17215d8006612e2df02b0e73115eb8376c37e3f586d8436fa41644e605074d"},
|
||||||
|
]
|
||||||
|
|
||||||
|
[package.dependencies]
|
||||||
|
certifi = "*"
|
||||||
|
fastapi = {version = ">=0.79.0", optional = true, markers = "extra == \"fastapi\""}
|
||||||
|
urllib3 = {version = ">=1.26.11", markers = "python_version >= \"3.6\""}
|
||||||
|
|
||||||
|
[package.extras]
|
||||||
|
aiohttp = ["aiohttp (>=3.5)"]
|
||||||
|
arq = ["arq (>=0.23)"]
|
||||||
|
beam = ["apache-beam (>=2.12)"]
|
||||||
|
bottle = ["bottle (>=0.12.13)"]
|
||||||
|
celery = ["celery (>=3)"]
|
||||||
|
chalice = ["chalice (>=1.16.0)"]
|
||||||
|
django = ["django (>=1.8)"]
|
||||||
|
falcon = ["falcon (>=1.4)"]
|
||||||
|
fastapi = ["fastapi (>=0.79.0)"]
|
||||||
|
flask = ["blinker (>=1.1)", "flask (>=0.11)", "markupsafe"]
|
||||||
|
grpcio = ["grpcio (>=1.21.1)"]
|
||||||
|
httpx = ["httpx (>=0.16.0)"]
|
||||||
|
huey = ["huey (>=2)"]
|
||||||
|
loguru = ["loguru (>=0.5)"]
|
||||||
|
opentelemetry = ["opentelemetry-distro (>=0.35b0)"]
|
||||||
|
pure-eval = ["asttokens", "executing", "pure-eval"]
|
||||||
|
pymongo = ["pymongo (>=3.1)"]
|
||||||
|
pyspark = ["pyspark (>=2.4.4)"]
|
||||||
|
quart = ["blinker (>=1.1)", "quart (>=0.16.1)"]
|
||||||
|
rq = ["rq (>=0.6)"]
|
||||||
|
sanic = ["sanic (>=0.8)"]
|
||||||
|
sqlalchemy = ["sqlalchemy (>=1.2)"]
|
||||||
|
starlette = ["starlette (>=0.19.1)"]
|
||||||
|
starlite = ["starlite (>=1.48)"]
|
||||||
|
tornado = ["tornado (>=5)"]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "sniffio"
|
name = "sniffio"
|
||||||
version = "1.3.0"
|
version = "1.3.0"
|
||||||
@@ -2327,4 +2370,4 @@ multidict = ">=4.0"
|
|||||||
[metadata]
|
[metadata]
|
||||||
lock-version = "2.0"
|
lock-version = "2.0"
|
||||||
python-versions = "^3.11"
|
python-versions = "^3.11"
|
||||||
content-hash = "d696a09d54edbfc0ab52bd4e7b1ba09f3930ac5d3156df511cc3094ddb7d6ac5"
|
content-hash = "f94162f1217c3767f792902a9a45fec81275ae3a98f2809662bf3a3d574984e2"
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ pydantic-settings = "^2.0.2"
|
|||||||
structlog = "^23.1.0"
|
structlog = "^23.1.0"
|
||||||
uvicorn = {extras = ["standard"], version = "^0.23.1"}
|
uvicorn = {extras = ["standard"], version = "^0.23.1"}
|
||||||
fastapi = "^0.100.1"
|
fastapi = "^0.100.1"
|
||||||
|
sentry-sdk = {extras = ["fastapi"], version = "^1.29.2"}
|
||||||
|
|
||||||
|
|
||||||
[tool.poetry.group.dev.dependencies]
|
[tool.poetry.group.dev.dependencies]
|
||||||
|
|||||||
@@ -2,8 +2,15 @@ from fastapi import FastAPI
|
|||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from reflector.views.rtc_offer import router as rtc_offer_router
|
from reflector.views.rtc_offer import router as rtc_offer_router
|
||||||
from reflector.events import subscribers_startup, subscribers_shutdown
|
from reflector.events import subscribers_startup, subscribers_shutdown
|
||||||
|
from reflector.logger import logger
|
||||||
|
from reflector.settings import settings
|
||||||
from contextlib import asynccontextmanager
|
from contextlib import asynccontextmanager
|
||||||
|
|
||||||
|
try:
|
||||||
|
import sentry_sdk
|
||||||
|
except ImportError:
|
||||||
|
sentry_sdk = None
|
||||||
|
|
||||||
|
|
||||||
# lifespan events
|
# lifespan events
|
||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
@@ -15,6 +22,17 @@ async def lifespan(app: FastAPI):
|
|||||||
await func()
|
await func()
|
||||||
|
|
||||||
|
|
||||||
|
# use sentry if available
|
||||||
|
if settings.SENTRY_DSN:
|
||||||
|
if not sentry_sdk:
|
||||||
|
logger.error("Sentry is not installed, avoided")
|
||||||
|
else:
|
||||||
|
logger.info("Sentry enabled")
|
||||||
|
sentry_sdk.init(dsn=settings.SENTRY_DSN, traces_sample_rate=1.0)
|
||||||
|
else:
|
||||||
|
logger.info("Sentry disabled")
|
||||||
|
|
||||||
|
|
||||||
# build app
|
# build app
|
||||||
app = FastAPI(lifespan=lifespan)
|
app = FastAPI(lifespan=lifespan)
|
||||||
app.add_middleware(
|
app.add_middleware(
|
||||||
|
|||||||
@@ -44,5 +44,8 @@ class Settings(BaseSettings):
|
|||||||
STORAGE_AWS_SECRET_KEY: str = ""
|
STORAGE_AWS_SECRET_KEY: str = ""
|
||||||
STORAGE_AWS_BUCKET: str = ""
|
STORAGE_AWS_BUCKET: str = ""
|
||||||
|
|
||||||
|
# Sentry
|
||||||
|
SENTRY_DSN: str | None = None
|
||||||
|
|
||||||
|
|
||||||
settings = Settings()
|
settings = Settings()
|
||||||
|
|||||||
Reference in New Issue
Block a user