do not stop daemon when on_join failed

This commit is contained in:
Emmanuel Garette 2021-04-16 09:29:53 +02:00
parent 5663b2768b
commit f88bcef5c0
1 changed files with 8 additions and 1 deletions

View File

@ -7,6 +7,7 @@ from typing import Callable, Optional, List
from asyncpg import create_pool from asyncpg import create_pool
from json import dumps, loads from json import dumps, loads
from pkg_resources import iter_entry_points from pkg_resources import iter_entry_points
from traceback import print_exc
import risotto import risotto
from .utils import _ from .utils import _
from .error import RegistrationError from .error import RegistrationError
@ -319,7 +320,13 @@ class RegisterDispatcher:
await log.info_msg(risotto_context, await log.info_msg(risotto_context,
None, None,
info_msg) info_msg)
await module.on_join(risotto_context) try:
await module.on_join(risotto_context)
except Exception as err:
if get_config()['global']['debug']:
print_exc()
msg = _(f'on_join returns an error in module {submodule_name}: {err}')
await log.error_msg(risotto_context, {}, msg)
async def load(self): async def load(self):
# valid function's arguments # valid function's arguments