aioamqp_consumer/rpc.py
changed.
aioamqp_consumer/__init__.py
changed.
Other files ignored by Codecov
tests/test_rpc.py
has changed.
276 | 276 | packer, |
|
277 | 277 | auto_reject, |
|
278 | 278 | auto_reject_delay, |
|
279 | + | fatal_exceptions, |
|
279 | 280 | ): |
|
280 | 281 | self.method = method |
|
281 | 282 | self.queue_name = queue_name |
286 | 287 | self.packer = packer |
|
287 | 288 | self.auto_reject = auto_reject |
|
288 | 289 | self.auto_reject_delay = auto_reject_delay |
|
290 | + | self.fatal_exceptions = fatal_exceptions |
|
289 | 291 | ||
290 | 292 | _fn = unpartial(self.method) |
|
291 | 293 | self._method_is_coro = asyncio.iscoroutinefunction(_fn) |
309 | 311 | packer_cls=None, |
|
310 | 312 | auto_reject=False, |
|
311 | 313 | auto_reject_delay=None, |
|
314 | + | fatal_exceptions=tuple(), |
|
312 | 315 | ): |
|
313 | 316 | if queue_kwargs is None: |
|
314 | 317 | queue_kwargs = {} |
333 | 336 | packer=packer, |
|
334 | 337 | auto_reject=auto_reject, |
|
335 | 338 | auto_reject_delay=auto_reject_delay, |
|
339 | + | fatal_exceptions=fatal_exceptions, |
|
336 | 340 | ) |
|
337 | 341 | ||
338 | 342 | return method |
409 | 413 | except Exception as exc: |
|
410 | 414 | logger.warning(exc, exc_info=exc) |
|
411 | 415 | ||
412 | - | if self.auto_reject: |
|
416 | + | if self.auto_reject and not isinstance(exc, self.fatal_exceptions): |
|
413 | 417 | if self.auto_reject_delay is not None: |
|
414 | 418 | await asyncio.sleep(self.auto_reject_delay) |
|
415 | 419 |
Files | Coverage |
---|---|
aioamqp_consumer | 74.58% |
Project Totals (11 files) | 74.58% |
TRAVIS_PYTHON_VERSION=3.6 TRAVIS_OS_NAME=linux TOXENV=py36
TRAVIS_PYTHON_VERSION=3.7 TRAVIS_OS_NAME=linux TOXENV=py37
TRAVIS_PYTHON_VERSION=3.6 TRAVIS_OS_NAME=linux TOXENV=py36
TRAVIS_PYTHON_VERSION=3.8 TRAVIS_OS_NAME=linux TOXENV=py38
TRAVIS_PYTHON_VERSION=3.8 TRAVIS_OS_NAME=linux TOXENV=py38
TRAVIS_PYTHON_VERSION=3.7 TRAVIS_OS_NAME=linux TOXENV=py37