Enhance Makefile and update metrics handling in bot
- Added new commands in the Makefile for restarting individual services: `restart-bot`, `restart-prometheus`, and `restart-grafana`. - Updated Prometheus and Grafana dashboard expressions for better metrics aggregation. - Removed the `main_with_metrics.py` file and integrated metrics handling directly into the main bot file. - Refactored middleware to improve metrics tracking and error handling across message and callback processing. - Optimized metrics recording with enhanced bucket configurations for better performance monitoring.
This commit is contained in:
@@ -17,18 +17,14 @@ async def start_bot(bdf):
|
||||
bot = Bot(token=token, default=DefaultBotProperties(
|
||||
parse_mode='HTML',
|
||||
link_preview_is_disabled=bdf.settings['Telegram']['preview_link']
|
||||
), timeout=30.0) # Добавляем таймаут для предотвращения зависаний
|
||||
), timeout=30.0)
|
||||
dp = Dispatcher(storage=MemoryStorage(), fsm_strategy=FSMStrategy.GLOBAL_USER)
|
||||
|
||||
# ✅ Middleware для метрик (добавляем первыми)
|
||||
dp.message.middleware(MetricsMiddleware())
|
||||
dp.callback_query.middleware(MetricsMiddleware())
|
||||
dp.message.middleware(ErrorMetricsMiddleware())
|
||||
dp.callback_query.middleware(ErrorMetricsMiddleware())
|
||||
|
||||
# ✅ Глобальная middleware для всех роутеров
|
||||
# ✅ Оптимизированная регистрация middleware
|
||||
dp.update.outer_middleware(DependenciesMiddleware())
|
||||
|
||||
dp.update.outer_middleware(MetricsMiddleware())
|
||||
dp.update.outer_middleware(BlacklistMiddleware())
|
||||
|
||||
dp.include_routers(admin_router, private_router, callback_router, group_router)
|
||||
await bot.delete_webhook(drop_pending_updates=True)
|
||||
await dp.start_polling(bot, skip_updates=True)
|
||||
|
||||
Reference in New Issue
Block a user