mirror of
https://github.com/openmax-server/server.git
synced 2026-05-22 19:41:41 +03:00
nothing
This commit is contained in:
11
src/main.py
11
src/main.py
@@ -177,13 +177,11 @@ async def main():
|
||||
|
||||
api["telegram_bot"] = controllers["telegrambot"]
|
||||
|
||||
coros = [controller.launch(api) for controller in controllers.values()]
|
||||
running_tasks = [asyncio.create_task(coro) for coro in coros]
|
||||
|
||||
# Обработчик sigterm
|
||||
loop = asyncio.get_running_loop()
|
||||
running_tasks = []
|
||||
|
||||
def _shutdown(sig):
|
||||
logging.info(f"Получен сигнал {sig}, завершаем все задачи...")
|
||||
for task in running_tasks:
|
||||
task.cancel()
|
||||
|
||||
@@ -191,10 +189,13 @@ async def main():
|
||||
for sig in (signal.SIGTERM, signal.SIGINT):
|
||||
loop.add_signal_handler(sig, _shutdown, sig)
|
||||
|
||||
coros = [controller.launch(api) for controller in controllers.values()]
|
||||
running_tasks.extend(asyncio.create_task(coro) for coro in coros)
|
||||
|
||||
# Запускаем контроллеры
|
||||
try:
|
||||
await asyncio.gather(*running_tasks)
|
||||
except asyncio.CancelledError:
|
||||
except (asyncio.CancelledError, Exception):
|
||||
logging.info("Все задачи завершены, выходим")
|
||||
|
||||
|
||||
|
||||
@@ -431,5 +431,9 @@ class OnemeMobile:
|
||||
|
||||
self.logger.info(f"Сокет запущен на порту {self.port}")
|
||||
|
||||
async with self.server:
|
||||
await self.server.serve_forever()
|
||||
try:
|
||||
async with self.server:
|
||||
await self.server.serve_forever()
|
||||
except asyncio.CancelledError:
|
||||
self.server.close()
|
||||
await self.server.wait_closed()
|
||||
|
||||
@@ -239,5 +239,9 @@ class TamTamMobile:
|
||||
|
||||
self.logger.info(f"Сокет запущен на порту {self.port}")
|
||||
|
||||
async with self.server:
|
||||
await self.server.serve_forever()
|
||||
try:
|
||||
async with self.server:
|
||||
await self.server.serve_forever()
|
||||
except asyncio.CancelledError:
|
||||
self.server.close()
|
||||
await self.server.wait_closed()
|
||||
@@ -131,7 +131,7 @@ class TelegramBot:
|
||||
async def start(self):
|
||||
if self.enabled:
|
||||
try:
|
||||
await self.dp.start_polling(self.bot)
|
||||
await self.dp.start_polling(self.bot, handle_signals=False)
|
||||
except Exception as e:
|
||||
self.logger.error(f"Ошибка запуска Telegram бота: {e}")
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user