Skip to content

Commit 4fab5f3

Browse files
committed
Handle network errors raised by "requests"
Closes #75.
1 parent 16427b5 commit 4fab5f3

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

logstash_async/worker.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,30 @@
1212
from limits import parse as parse_rate_limit
1313
from limits.storage import MemoryStorage
1414
from limits.strategies import FixedWindowRateLimiter
15+
from requests.exceptions import ConnectionError as RequestsConnectionError
16+
from requests.exceptions import ConnectTimeout, HTTPError, ProxyError, RetryError, Timeout
1517

1618
from logstash_async.constants import constants
1719
from logstash_async.database import DatabaseCache, DatabaseDiskIOError, DatabaseLockedError
1820
from logstash_async.memory_cache import MemoryCache
1921
from logstash_async.utils import safe_log_via_print
2022

2123

24+
NETWORK_EXCEPTIONS = (
25+
# Python
26+
ConnectionError,
27+
TimeoutError,
28+
socket_gaierror,
29+
# Requests
30+
ConnectTimeout,
31+
RequestsConnectionError,
32+
HTTPError,
33+
ProxyError,
34+
RetryError,
35+
Timeout,
36+
)
37+
38+
2239
class ProcessingError(Exception):
2340
""""""
2441

@@ -220,7 +237,7 @@ def _flush_queued_events(self, force=False):
220237
events = [event['event_text'] for event in queued_events]
221238
self._send_events(events)
222239
# Log connection and network errors as warnings as they are rather harmless
223-
except (ConnectionError, TimeoutError, socket_gaierror) as exc:
240+
except NETWORK_EXCEPTIONS as exc:
224241
self._safe_log(
225242
'warning',
226243
'An error occurred while sending events: %s',

0 commit comments

Comments
 (0)