添加定时任务配置
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -14,4 +14,5 @@ wheels/
|
||||
# prod file
|
||||
.sqlite
|
||||
fallback.log
|
||||
database.db
|
||||
database.db
|
||||
fastscheduler_state.json
|
||||
|
||||
@@ -10,6 +10,12 @@ def init_database():
|
||||
create_db_and_tables()
|
||||
logger.info("[数据库] 数据库初始化完成 ✅")
|
||||
|
||||
def init_scheduler(app : FastAPI):
|
||||
from scheduler import init_scheduler_router
|
||||
logger.info("[定时任务] 初始化定时任务 📦")
|
||||
init_scheduler_router(app)
|
||||
logger.info("[定时任务] 定时任务初始化完成 ✅")
|
||||
|
||||
|
||||
def active_config():
|
||||
logger.info(f"[激活配置] 加载配置 ⚙️")
|
||||
@@ -31,5 +37,6 @@ async def lifespan(app: FastAPI):
|
||||
active_config()
|
||||
init_database()
|
||||
import_router(app)
|
||||
init_scheduler(app)
|
||||
yield
|
||||
logger.info(f"[生命周期] 应用关闭 🔧✅")
|
||||
|
||||
@@ -21,6 +21,7 @@ dependencies = [
|
||||
"wecom-sdk>=1.0.0",
|
||||
"xmltodict>=1.0.2",
|
||||
"psycopg2-binary>=2.9.11",
|
||||
"fastscheduler[fastapi]>=0.1.2",
|
||||
]
|
||||
|
||||
[dependency-groups]
|
||||
|
||||
7
scheduler/__init__.py
Normal file
7
scheduler/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
||||
from fastapi import FastAPI
|
||||
from fastscheduler.fastapi_integration import create_scheduler_routes
|
||||
from scheduler.scheduler import scheduler
|
||||
|
||||
def init_scheduler_router(app : FastAPI):
|
||||
app.include_router(create_scheduler_routes(scheduler))
|
||||
scheduler.start()
|
||||
@@ -0,0 +1,9 @@
|
||||
from fastscheduler import FastScheduler
|
||||
|
||||
|
||||
scheduler = FastScheduler(quiet=True)
|
||||
|
||||
|
||||
@scheduler.every(10).seconds
|
||||
def background_task():
|
||||
print("Background work")
|
||||
18
uv.lock
generated
18
uv.lock
generated
@@ -305,6 +305,20 @@ wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/43/8b/cef8cfed7ed77d52fc772b1c7b966ba019a3f50b65a2b3625a0f3b7f6f53/fastapi_utils-0.8.0-py3-none-any.whl", hash = "sha256:6c4d507a76bab9a016cee0c4fa3a4638c636b2b2689e39c62254b1b2e4e81825", size = 18495, upload-time = "2024-11-11T08:30:01.914Z" },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "fastscheduler"
|
||||
version = "0.1.2"
|
||||
source = { registry = "https://pypi.org/simple" }
|
||||
sdist = { url = "https://files.pythonhosted.org/packages/41/d0/1d4be557b3b47b74cd9eddf5b6bdf28c91a201c2872b6bce74040b8047f4/fastscheduler-0.1.2.tar.gz", hash = "sha256:90488a3177513dbd7f881d29ce1846ea3fb15a654f449ec90bd01d03711e4bc3", size = 25554, upload-time = "2026-01-10T06:46:14.686Z" }
|
||||
wheels = [
|
||||
{ url = "https://files.pythonhosted.org/packages/56/45/908b0514cb1c31ac04769a61fe868c6031e1bb86697b1ec9eb6d590936e1/fastscheduler-0.1.2-py3-none-any.whl", hash = "sha256:3c79dcde3c39bc7f32696fb7f667f5d6cc602c4102471014220cff3a32e6d77d", size = 26826, upload-time = "2026-01-10T06:46:15.604Z" },
|
||||
]
|
||||
|
||||
[package.optional-dependencies]
|
||||
fastapi = [
|
||||
{ name = "fastapi", extra = ["standard"] },
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "greenlet"
|
||||
version = "3.2.4"
|
||||
@@ -1304,7 +1318,7 @@ wheels = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wxcom-wnzs-adapter"
|
||||
name = "wecom-wnzs-adapter"
|
||||
version = "0.1.0"
|
||||
source = { virtual = "." }
|
||||
dependencies = [
|
||||
@@ -1312,6 +1326,7 @@ dependencies = [
|
||||
{ name = "casbin" },
|
||||
{ name = "fastapi", extra = ["standard"] },
|
||||
{ name = "fastapi-utils" },
|
||||
{ name = "fastscheduler", extra = ["fastapi"] },
|
||||
{ name = "motor" },
|
||||
{ name = "pickledb" },
|
||||
{ name = "psycopg2-binary" },
|
||||
@@ -1332,6 +1347,7 @@ requires-dist = [
|
||||
{ name = "casbin", specifier = ">=1.43.0" },
|
||||
{ name = "fastapi", extras = ["standard"], specifier = ">=0.116.1" },
|
||||
{ name = "fastapi-utils", specifier = ">=0.8.0" },
|
||||
{ name = "fastscheduler", extras = ["fastapi"], specifier = ">=0.1.2" },
|
||||
{ name = "motor", specifier = ">=3.7.1" },
|
||||
{ name = "pickledb", specifier = ">=1.3.2" },
|
||||
{ name = "psycopg2-binary", specifier = ">=2.9.11" },
|
||||
|
||||
Reference in New Issue
Block a user