mirror of
https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git
synced 2025-08-14 00:25:46 +02:00
35 lines
761 B
Python
35 lines
761 B
Python
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())
|