@@ -1057,7 +1057,7 @@ <h1>Index</h1>
1057
1057
1058
1058
< ul >
1059
1059
< 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 >
1061
1061
</ ul >
1062
1062
1063
1063
</ li >
@@ -1114,14 +1114,16 @@ <h1 class="title"><span class="name">sentry_sdk.integrations.atexit</span> modul
1114
1114
< span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> default_shutdown_callback</ span >
1115
1115
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> callback</ span >
1116
1116
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 >
1118
1119
< span class ="nd "> @atexit.register</ span >
1119
1120
< 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 >
1121
1121
< 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 >
1123
1125
< 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 >
1125
1127
</ pre > </ div >
1126
1128
1127
1129
</ div >
@@ -1173,7 +1175,9 @@ <h2 class="section-title" id="header-classes">Classes</h2>
1173
1175
< p id ="sentry_sdk.integrations.atexit.AtexitIntegration " class ="name "> class < span class ="ident "> AtexitIntegration</ span > </ p >
1174
1176
1175
1177
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 >
1177
1181
< div class ="source_cont ">
1178
1182
< p class ="source_link "> < a href ="javascript:void(0); " onclick ="toggle('source-sentry_sdk.integrations.atexit.AtexitIntegration', this); "> Show source ≡</ a > </ p >
1179
1183
< div id ="source-sentry_sdk.integrations.atexit.AtexitIntegration " class ="source ">
@@ -1185,14 +1189,16 @@ <h2 class="section-title" id="header-classes">Classes</h2>
1185
1189
< span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> default_shutdown_callback</ span >
1186
1190
< span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> callback</ span > < span class ="o "> =</ span > < span class ="n "> callback</ span >
1187
1191
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 >
1189
1194
< span class ="nd "> @atexit.register</ span >
1190
1195
< 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 >
1192
1196
< 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 >
1194
1200
< 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 >
1196
1202
</ pre > </ div >
1197
1203
1198
1204
</ div >
@@ -1213,6 +1219,16 @@ <h3>Class variables</h3>
1213
1219
1214
1220
1215
1221
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
+
1216
1232
< div class ="source_cont ">
1217
1233
</ div >
1218
1234
@@ -1244,27 +1260,32 @@ <h3>Static methods</h3>
1244
1260
1245
1261
1246
1262
< 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 >
1249
1265
</ div >
1250
1266
1251
1267
1252
1268
1253
1269
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 >
1257
1276
< 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 >
1261
1281
< span class ="nd "> @atexit.register</ span >
1262
1282
< 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 >
1264
1283
< 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 >
1266
1287
< 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 >
1268
1289
</ pre > </ div >
1269
1290
1270
1291
</ div >
0 commit comments