From 8d9a89f70dd2e6313e63da40a090e06590847126 Mon Sep 17 00:00:00 2001 From: Maciej Bienia Date: Tue, 18 Apr 2023 14:25:56 +0200 Subject: [PATCH 1/3] add some print statements --- sentry_sdk/worker.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/sentry_sdk/worker.py b/sentry_sdk/worker.py index ca0ca28d94..9bab45fb37 100644 --- a/sentry_sdk/worker.py +++ b/sentry_sdk/worker.py @@ -1,18 +1,15 @@ import os import threading - from time import sleep, time -from sentry_sdk._compat import check_thread_support -from sentry_sdk._queue import Queue, FullError -from sentry_sdk.utils import logger -from sentry_sdk.consts import DEFAULT_QUEUE_SIZE +from sentry_sdk._compat import check_thread_support +from sentry_sdk._queue import FullError, Queue from sentry_sdk._types import TYPE_CHECKING +from sentry_sdk.consts import DEFAULT_QUEUE_SIZE +from sentry_sdk.utils import logger if TYPE_CHECKING: - from typing import Any - from typing import Optional - from typing import Callable + pass _TERMINATOR = object() @@ -78,14 +75,20 @@ def kill(self): """ logger.debug("background worker got kill request") with self._lock: + print('step 1') if self._thread: try: + print('step 2') self._queue.put_nowait(_TERMINATOR) + print('step 3') except FullError: logger.debug("background worker queue full, kill failed") + print('step 4') self._thread = None self._thread_for_pid = None + print('step 5') + print('step 6') def flush(self, timeout, callback=None): # type: (float, Optional[Any]) -> None From 1a20e8e2f9d55b6f63a3fbacc43893df731be001 Mon Sep 17 00:00:00 2001 From: Maciej Bienia Date: Tue, 18 Apr 2023 15:26:46 +0200 Subject: [PATCH 2/3] add more debug --- sentry_sdk/integrations/atexit.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sentry_sdk/integrations/atexit.py b/sentry_sdk/integrations/atexit.py index 36d7025a1e..cb54b4bd7c 100644 --- a/sentry_sdk/integrations/atexit.py +++ b/sentry_sdk/integrations/atexit.py @@ -1,19 +1,17 @@ from __future__ import absolute_import +import atexit import os import sys -import atexit +from sentry_sdk._types import TYPE_CHECKING from sentry_sdk.hub import Hub -from sentry_sdk.utils import logger from sentry_sdk.integrations import Integration - -from sentry_sdk._types import TYPE_CHECKING +from sentry_sdk.utils import logger if TYPE_CHECKING: - from typing import Any - from typing import Optional + pass def default_callback(pending, timeout): @@ -50,13 +48,19 @@ def _shutdown(): # type: () -> None logger.debug("atexit: got shutdown signal") hub = Hub.main + print('Shudown phase #1') integration = hub.get_integration(AtexitIntegration) + print('Shudown phase #2') if integration is not None: + print('Shudown phase #3') logger.debug("atexit: shutting down client") # If there is a session on the hub, close it now. hub.end_session() + print('Shudown phase #4') # If an integration is there, a client has to be there. client = hub.client # type: Any client.close(callback=integration.callback) + print('Shudown phase #5') + print('Shudown phase #6') From fc0c46d14a436687d07808135098313d7161e55c Mon Sep 17 00:00:00 2001 From: Maciej Bienia Date: Tue, 18 Apr 2023 15:51:34 +0200 Subject: [PATCH 3/3] add sysexit ;) --- sentry_sdk/integrations/atexit.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sentry_sdk/integrations/atexit.py b/sentry_sdk/integrations/atexit.py index cb54b4bd7c..b84a6ab879 100644 --- a/sentry_sdk/integrations/atexit.py +++ b/sentry_sdk/integrations/atexit.py @@ -64,3 +64,5 @@ def _shutdown(): client.close(callback=integration.callback) print('Shudown phase #5') print('Shudown phase #6') + sys.exit() + print('Shudown phase #7')