99from pathlib import Path
1010
1111import pandas_market_calendars as mcal
12- import sentry_sdk
1312import uvloop
14- from sentry_sdk import capture_exception
1513from sqlalchemy .ext .asyncio import AsyncSession , create_async_engine
1614from sqlalchemy .orm import sessionmaker
1715
18- SENTRY_URL = os .environ .get ("SENTRY_URL" )
19- sentry_sdk .init (
20- dsn = SENTRY_URL ,
21- traces_sample_rate = 0.1 ,
22- )
23-
2416ENVIRONMENT = os .environ .get ("ENVIRONMENT" )
2517DEBUG = False
18+ SENTRY_URL = os .environ .get ("SENTRY_URL" , None )
19+
20+ if SENTRY_URL :
21+ import sentry_sdk
22+ from sentry_sdk import capture_exception
23+
24+ sentry_sdk .init (
25+ dsn = SENTRY_URL ,
26+ traces_sample_rate = 0.1 ,
27+ )
2628
2729
2830# NOTE: use this function if pass variables to env via docker .env file. Otherwise use .pgpass
@@ -64,11 +66,12 @@ def db_uri_maker() -> str:
6466
6567POOL_DEFAULT_KWARGS = {
6668 "processes" : CPUS ,
67- "exception_handler" : capture_exception ,
6869 "loop_initializer" : uvloop .new_event_loop ,
6970 "childconcurrency" : int (MAX_CONCURRENT_REQUESTS / CPUS ),
7071 "queuecount" : CPUS ,
7172}
73+ if SENTRY_URL :
74+ POOL_DEFAULT_KWARGS ["exception_handler" ] = capture_exception
7275
7376async_engine = create_async_engine (
7477 POSTGRES_DATABASE_URL ,
@@ -92,7 +95,7 @@ def db_uri_maker() -> str:
9295)
9396
9497
95- def logger_setup (project_name : str , debug = False ) :
98+ def logger_setup (project_name : str , debug = False , name = __name__ ) -> Logger :
9699 root_logger : Logger = logging .getLogger ()
97100 log : Logger = logging .getLogger (__name__ )
98101 log_formatter = logging .Formatter (
@@ -144,6 +147,7 @@ def filter(self, record):
144147 + datetime .now ().strftime ("%Y-%m-%d" )
145148 + ".log"
146149 )
150+ os .makedirs (os .path .dirname (log_path ), exist_ok = True )
147151 file_handler = FileHandler (log_path )
148152 file_handler .setFormatter (log_formatter )
149153
@@ -152,7 +156,7 @@ def filter(self, record):
152156 return log
153157
154158
155- log = logger_setup ("curator" , DEBUG )
159+ log = logger_setup ("curator" , debug = DEBUG )
156160
157161# market calendar
158162o_cal = mcal .get_calendar ("CBOE_Equity_Options" )
0 commit comments