|
|
@ -40,7 +40,6 @@ class Loop: |
|
|
|
self._is_being_cancelled = False |
|
|
|
self._has_failed = False |
|
|
|
self._stop_next_iteration = False |
|
|
|
self._exception = None |
|
|
|
|
|
|
|
if self.count is not None and self.count <= 0: |
|
|
|
raise ValueError('count must be greater than 0 or None.') |
|
|
@ -82,9 +81,8 @@ class Loop: |
|
|
|
except asyncio.CancelledError: |
|
|
|
self._is_being_cancelled = True |
|
|
|
raise |
|
|
|
except Exception as e: |
|
|
|
except Exception: |
|
|
|
self._has_failed = True |
|
|
|
self._exception = e |
|
|
|
log.exception('Internal background task failed.') |
|
|
|
raise |
|
|
|
finally: |
|
|
@ -93,7 +91,6 @@ class Loop: |
|
|
|
self._current_loop = 0 |
|
|
|
self._stop_next_iteration = False |
|
|
|
self._has_failed = False |
|
|
|
self._exception = None |
|
|
|
|
|
|
|
def __get__(self, obj, objtype): |
|
|
|
if obj is None: |
|
|
@ -259,16 +256,6 @@ class Loop: |
|
|
|
""" |
|
|
|
return self._has_failed |
|
|
|
|
|
|
|
def exception(self): |
|
|
|
"""Optional[:class:`Exception`]: The exception that the internal task failed with. |
|
|
|
|
|
|
|
.. versionadded:: 1.3.0 |
|
|
|
""" |
|
|
|
if self._exception is not None: |
|
|
|
return self._exception |
|
|
|
if self._task is not None: |
|
|
|
return self._task.exception() |
|
|
|
|
|
|
|
def before_loop(self, coro): |
|
|
|
"""A decorator that registers a coroutine to be called before the loop starts running. |
|
|
|
|
|
|
|