diff --git a/posthog/client.py b/posthog/client.py index 85e92eb2..f29f1c73 100644 --- a/posthog/client.py +++ b/posthog/client.py @@ -3,7 +3,7 @@ import os import sys from datetime import datetime, timedelta -from typing import Any, Callable, Dict, Optional, Union +from typing import Any, Dict, Optional, Union from typing_extensions import Unpack from uuid import uuid4 @@ -271,8 +271,8 @@ def __init__( # to call flush(). if send: atexit.register(self.join) + self.consumers = [] for n in range(thread): - self.consumers = [] consumer = Consumer( self.queue, self.api_key, diff --git a/posthog/test/test_client.py b/posthog/test/test_client.py index e97d5349..c39a7ab8 100644 --- a/posthog/test/test_client.py +++ b/posthog/test/test_client.py @@ -2466,3 +2466,12 @@ def test_debug_flag_re_raises_exceptions(self, mock_enqueue): with self.assertRaises(Exception) as cm: method(*args, **kwargs) self.assertEqual(str(cm.exception), "Expected error") + + def test_number_of_consumers(self): + expected_threads = 10 + + client = Client(FAKE_TEST_API_KEY, send=False, thread=expected_threads) + try: + self.assertEqual(len(client.consumers), expected_threads) + finally: + client.shutdown()