Files
cksd/main.py

44 lines
989 B
Python

# main.py / 启动入口
import asyncio
import os
from tasks.water_ammeter import SD
import config
from models.water_usage import WaterUsageModel
from models.ammeter_usage import AmmeterUsageModel
from scheduler import start_scheduler
import logging
import warnings
import uvicorn
warnings.filterwarnings("ignore", message="Glyph .* missing from font")
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s | %(levelname)-8s | %(name)s | %(message)s",
)
# 确保数据库目录存在
db_dir = os.path.dirname(config.DB_PATH)
if db_dir and not os.path.exists(db_dir):
os.makedirs(db_dir)
async def main():
await WaterUsageModel.create_table()
await AmmeterUsageModel.create_table()
start_scheduler()
await SD().push()
# 🔥启动FastAPI Web服务
config = uvicorn.Config("app:app", host="0.0.0.0", port=8000, reload=True)
server = uvicorn.Server(config)
await server.serve()
if __name__ == "__main__":
asyncio.run(main())