@@ -1057,7 +1057,7 @@ <h1>Index</h1>
10571057
10581058 < ul >
10591059 < li class ="mono "> < a href ="#sentry_sdk.integrations.atexit.AtexitIntegration.__init__ "> __init__</ a > </ li >
1060- < li class ="mono "> < a href ="#sentry_sdk.integrations.atexit.AtexitIntegration.install " > install </ a > </ li >
1060+ < li class ="mono "> < a href ="#sentry_sdk.integrations.atexit.AtexitIntegration.setup_once " > setup_once </ a > </ li >
10611061 </ ul >
10621062
10631063 </ li >
@@ -1114,14 +1114,16 @@ <h1 class="title"><span class="name">sentry_sdk.integrations.atexit</span> modul
11141114 < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> default_shutdown_callback</ span >
11151115 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> callback</ span >
11161116
1117- < span class ="k "> def</ span > < span class ="nf "> install</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
1117+ < span class ="nd "> @staticmethod</ span >
1118+ < span class ="k "> def</ span > < span class ="nf "> setup_once</ span > < span class ="p "> ():</ span >
11181119 < span class ="nd "> @atexit.register</ span >
11191120 < span class ="k "> def</ span > < span class ="nf "> _shutdown</ span > < span class ="p "> ():</ span >
1120- < span class ="n "> main_client</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span > < span class ="o "> .</ span > < span class ="n "> client</ span >
11211121 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: got shutdown signal"</ span > < span class ="p "> )</ span >
1122- < span class ="k "> if</ span > < span class ="n "> main_client</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
1122+ < span class ="n "> hub</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span >
1123+ < span class ="n "> integration</ span > < span class ="o "> =</ span > < span class ="n "> hub</ span > < span class ="o "> .</ span > < span class ="n "> get_integration</ span > < span class ="p "> (</ span > < span class ="n "> AtexitIntegration</ span > < span class ="p "> )</ span >
1124+ < span class ="k "> if</ span > < span class ="n "> integration</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
11231125 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: shutting down client"</ span > < span class ="p "> )</ span >
1124- < span class ="n "> main_client </ span > < span class ="o "> .</ span > < span class ="n "> close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="bp " > self </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
1126+ < span class ="n "> hub </ span > < span class ="o "> .</ span > < span class ="n "> client </ span > < span class =" o " > . </ span > < span class =" n " > close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="n " > integration </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
11251127</ pre > </ div >
11261128
11271129 </ div >
@@ -1173,7 +1175,9 @@ <h2 class="section-title" id="header-classes">Classes</h2>
11731175 < p id ="sentry_sdk.integrations.atexit.AtexitIntegration " class ="name "> class < span class ="ident "> AtexitIntegration</ span > </ p >
11741176
11751177
1176- < div class ="desc "> < p > Baseclass for all integrations.</ p > </ div >
1178+ < div class ="desc "> < p > Baseclass for all integrations.</ p >
1179+ < p > To accept options for an integration, implement your own constructor that
1180+ saves those options on < code > self</ code > .</ p > </ div >
11771181 < div class ="source_cont ">
11781182 < p class ="source_link "> < a href ="javascript:void(0); " onclick ="toggle('source-sentry_sdk.integrations.atexit.AtexitIntegration', this); "> Show source ≡</ a > </ p >
11791183 < div id ="source-sentry_sdk.integrations.atexit.AtexitIntegration " class ="source ">
@@ -1185,14 +1189,16 @@ <h2 class="section-title" id="header-classes">Classes</h2>
11851189 < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> default_shutdown_callback</ span >
11861190 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> callback</ span >
11871191
1188- < span class ="k "> def</ span > < span class ="nf "> install</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
1192+ < span class ="nd "> @staticmethod</ span >
1193+ < span class ="k "> def</ span > < span class ="nf "> setup_once</ span > < span class ="p "> ():</ span >
11891194 < span class ="nd "> @atexit.register</ span >
11901195 < span class ="k "> def</ span > < span class ="nf "> _shutdown</ span > < span class ="p "> ():</ span >
1191- < span class ="n "> main_client</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span > < span class ="o "> .</ span > < span class ="n "> client</ span >
11921196 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: got shutdown signal"</ span > < span class ="p "> )</ span >
1193- < span class ="k "> if</ span > < span class ="n "> main_client</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
1197+ < span class ="n "> hub</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span >
1198+ < span class ="n "> integration</ span > < span class ="o "> =</ span > < span class ="n "> hub</ span > < span class ="o "> .</ span > < span class ="n "> get_integration</ span > < span class ="p "> (</ span > < span class ="n "> AtexitIntegration</ span > < span class ="p "> )</ span >
1199+ < span class ="k "> if</ span > < span class ="n "> integration</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
11941200 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: shutting down client"</ span > < span class ="p "> )</ span >
1195- < span class ="n "> main_client </ span > < span class ="o "> .</ span > < span class ="n "> close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="bp " > self </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
1201+ < span class ="n "> hub </ span > < span class ="o "> .</ span > < span class ="n "> client </ span > < span class =" o " > . </ span > < span class =" n " > close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="n " > integration </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
11961202</ pre > </ div >
11971203
11981204 </ div >
@@ -1213,6 +1219,16 @@ <h3>Class variables</h3>
12131219
12141220
12151221
1222+ < div class ="source_cont ">
1223+ </ div >
1224+
1225+ </ div >
1226+ < div class ="item ">
1227+ < p id ="sentry_sdk.integrations.atexit.AtexitIntegration.install " class ="name "> var < span class ="ident "> install</ span > </ p >
1228+
1229+
1230+
1231+
12161232 < div class ="source_cont ">
12171233</ div >
12181234
@@ -1244,27 +1260,32 @@ <h3>Static methods</h3>
12441260
12451261
12461262 < div class ="item ">
1247- < div class ="name def " id ="sentry_sdk.integrations.atexit.AtexitIntegration.install ">
1248- < p > def < span class ="ident "> install </ span > (</ p > < p > self )</ p >
1263+ < div class ="name def " id ="sentry_sdk.integrations.atexit.AtexitIntegration.setup_once ">
1264+ < p > def < span class ="ident "> setup_once </ span > (</ p > < p > )</ p >
12491265 </ div >
12501266
12511267
12521268
12531269
1254- < div class ="desc "> < p > An integration must implement all its code here. When the
1255- < code > setup_integrations</ code > function runs it will invoke this unless the
1256- integration was already activated elsewhere.</ p > </ div >
1270+ < div class ="desc "> < p > Initialize the integration.</ p >
1271+ < p > This function is only called once, ever. Configuration is not available
1272+ at this point, so the only thing to do here is to hook into exception
1273+ handlers, and perhaps do monkeypatches.</ p >
1274+ < p > Inside those hooks < code > Integration.current</ code > can be used to access the
1275+ instance again.</ p > </ div >
12571276 < div class ="source_cont ">
1258- < p class ="source_link "> < a href ="javascript:void(0); " onclick ="toggle('source-sentry_sdk.integrations.atexit.AtexitIntegration.install', this); "> Show source ≡</ a > </ p >
1259- < div id ="source-sentry_sdk.integrations.atexit.AtexitIntegration.install " class ="source ">
1260- < div class ="codehilite "> < pre > < span > </ span > < span class ="k "> def</ span > < span class ="nf "> install</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
1277+ < p class ="source_link "> < a href ="javascript:void(0); " onclick ="toggle('source-sentry_sdk.integrations.atexit.AtexitIntegration.setup_once', this); "> Show source ≡</ a > </ p >
1278+ < div id ="source-sentry_sdk.integrations.atexit.AtexitIntegration.setup_once " class ="source ">
1279+ < div class ="codehilite "> < pre > < span > </ span > < span class ="nd "> @staticmethod</ span >
1280+ < span class ="k "> def</ span > < span class ="nf "> setup_once</ span > < span class ="p "> ():</ span >
12611281 < span class ="nd "> @atexit.register</ span >
12621282 < span class ="k "> def</ span > < span class ="nf "> _shutdown</ span > < span class ="p "> ():</ span >
1263- < span class ="n "> main_client</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span > < span class ="o "> .</ span > < span class ="n "> client</ span >
12641283 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: got shutdown signal"</ span > < span class ="p "> )</ span >
1265- < span class ="k "> if</ span > < span class ="n "> main_client</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
1284+ < span class ="n "> hub</ span > < span class ="o "> =</ span > < span class ="n "> Hub</ span > < span class ="o "> .</ span > < span class ="n "> main</ span >
1285+ < span class ="n "> integration</ span > < span class ="o "> =</ span > < span class ="n "> hub</ span > < span class ="o "> .</ span > < span class ="n "> get_integration</ span > < span class ="p "> (</ span > < span class ="n "> AtexitIntegration</ span > < span class ="p "> )</ span >
1286+ < span class ="k "> if</ span > < span class ="n "> integration</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="bp "> None</ span > < span class ="p "> :</ span >
12661287 < span class ="n "> logger</ span > < span class ="o "> .</ span > < span class ="n "> debug</ span > < span class ="p "> (</ span > < span class ="s2 "> "atexit: shutting down client"</ span > < span class ="p "> )</ span >
1267- < span class ="n "> main_client </ span > < span class ="o "> .</ span > < span class ="n "> close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="bp " > self </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
1288+ < span class ="n "> hub </ span > < span class ="o "> .</ span > < span class ="n "> client </ span > < span class =" o " > . </ span > < span class =" n " > close</ span > < span class ="p "> (</ span > < span class ="n "> shutdown_callback</ span > < span class ="o "> =</ span > < span class ="n " > integration </ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="p "> )</ span >
12681289</ pre > </ div >
12691290
12701291 </ div >
0 commit comments