mirror of
https://github.com/Cog-Creators/Red-DiscordBot.git
synced 2025-11-07 03:38:53 -05:00
Fix CancelledError handling in done callbacks of cog init tasks (#6203)
This commit is contained in:
parent
bad23a4a93
commit
d8e584b5e8
@ -98,14 +98,19 @@ class Downloader(commands.Cog):
|
|||||||
|
|
||||||
def create_init_task(self):
|
def create_init_task(self):
|
||||||
def _done_callback(task: asyncio.Task) -> None:
|
def _done_callback(task: asyncio.Task) -> None:
|
||||||
exc = task.exception()
|
try:
|
||||||
if exc is not None:
|
exc = task.exception()
|
||||||
|
except asyncio.CancelledError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if exc is None:
|
||||||
|
return
|
||||||
log.error(
|
log.error(
|
||||||
"An unexpected error occurred during Downloader's initialization.",
|
"An unexpected error occurred during Downloader's initialization.",
|
||||||
exc_info=exc,
|
exc_info=exc,
|
||||||
)
|
)
|
||||||
self._ready_raised = True
|
self._ready_raised = True
|
||||||
self._ready.set()
|
self._ready.set()
|
||||||
|
|
||||||
self._init_task = asyncio.create_task(self.initialize())
|
self._init_task = asyncio.create_task(self.initialize())
|
||||||
self._init_task.add_done_callback(_done_callback)
|
self._init_task.add_done_callback(_done_callback)
|
||||||
|
|||||||
@ -117,14 +117,19 @@ class Mutes(VoiceMutes, commands.Cog, metaclass=CompositeMetaClass):
|
|||||||
|
|
||||||
def create_init_task(self) -> None:
|
def create_init_task(self) -> None:
|
||||||
def _done_callback(task: asyncio.Task) -> None:
|
def _done_callback(task: asyncio.Task) -> None:
|
||||||
exc = task.exception()
|
try:
|
||||||
if exc is not None:
|
exc = task.exception()
|
||||||
|
except asyncio.CancelledError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if exc is None:
|
||||||
|
return
|
||||||
log.error(
|
log.error(
|
||||||
"An unexpected error occurred during Mutes's initialization.",
|
"An unexpected error occurred during Mutes's initialization.",
|
||||||
exc_info=exc,
|
exc_info=exc,
|
||||||
)
|
)
|
||||||
self._ready_raised = True
|
self._ready_raised = True
|
||||||
self._ready.set()
|
self._ready.set()
|
||||||
|
|
||||||
self._init_task = asyncio.create_task(self.initialize())
|
self._init_task = asyncio.create_task(self.initialize())
|
||||||
self._init_task.add_done_callback(_done_callback)
|
self._init_task.add_done_callback(_done_callback)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user