1
0
mirror of https://gitlab.com/MoonTestUse1/AdministrationItDepartmens.git synced 2025-08-14 00:25:46 +02:00
Files

38 lines
1012 B
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
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_api():
"""Run FastAPI application"""
config = uvicorn.Config(
app,
host="0.0.0.0",
port=8000,
reload=True
)
server = uvicorn.Server(config)
await server.serve()
async def main():
"""Run both bot and API in the main thread"""
try:
# Создаем задачи для бота и API
bot_task = asyncio.create_task(start_bot())
api_task = asyncio.create_task(run_api())
# Запускаем обе задачи
await asyncio.gather(bot_task, api_task)
except Exception as e:
logger.error(f"Application crashed: {e}", exc_info=True)
if __name__ == "__main__":
# Запускаем в основном потоыы
asyncio.run(main())