1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
Files
AdministrationItDepartmens/backend/run.py
2024-12-26 04:19:14 +06:00

34 lines
844 B
Python

"""
Main application entry point.
Runs both the FastAPI application and Telegram bot.
"""
import asyncio
import uvicorn
from app.main import app
from app.bot import start_bot
from logging import getLogger
logger = getLogger(__name__)
async def run_bot():
"""Run Telegram bot"""
try:
await start_bot()
except Exception as e:
logger.error(f"Bot crashed: {e}", exc_info=True)
async def run_api():
"""Run FastAPI application"""
config = uvicorn.Config(app, host="0.0.0.0", port=8000, reload=True)
server = uvicorn.Server(config)
try:
await server.serve()
except Exception as e:
logger.error(f"API crashed: {e}", exc_info=True)
async def run_all():
"""Run both bot and API"""
await asyncio.gather(run_bot(), run_api())
if __name__ == "__main__":
asyncio.run(run_all())