@@ -18,6 +18,7 @@ class GetConfigRequest(BaseModel): | |||||
class SaveConfigRequest(BaseModel): | class SaveConfigRequest(BaseModel): | ||||
wxid: str | wxid: str | ||||
data: dict | |||||
@config_router.post("/getconfig",response_model=None) | @config_router.post("/getconfig",response_model=None) | ||||
@@ -37,8 +38,8 @@ async def get_config(request: Request, body: GetConfigRequest): | |||||
@config_router.post("/saveconfig",response_model=None) | @config_router.post("/saveconfig",response_model=None) | ||||
@validate_wxid | @validate_wxid | ||||
async def save_config(request: Request, body: SaveConfigRequest): | async def save_config(request: Request, body: SaveConfigRequest): | ||||
wxid = body.get("wxid") | |||||
data = body.get("data") | |||||
wxid = body.wxid | |||||
data = body.data | |||||
# k,loginfo=await request.app.state.gewe_service.get_login_info_by_wxid_async(wxid) | # k,loginfo=await request.app.state.gewe_service.get_login_info_by_wxid_async(wxid) | ||||
# if not k: | # if not k: | ||||
# return {"code":404,"message":f"{wxid} 没有对应的登录信息"} | # return {"code":404,"message":f"{wxid} 没有对应的登录信息"} | ||||
@@ -58,11 +58,14 @@ celery_app.conf.update( | |||||
timezone="Asia/Shanghai", # 设定时区 | timezone="Asia/Shanghai", # 设定时区 | ||||
beat_scheduler="redbeat.RedBeatScheduler", # 使用 RedBeat 作为调度器 | beat_scheduler="redbeat.RedBeatScheduler", # 使用 RedBeat 作为调度器 | ||||
redbeat_redis_url="redis://:telpo%231234@192.168.2.121:8090/3" # redbeat 存储任务调度信息的 Redis | redbeat_redis_url="redis://:telpo%231234@192.168.2.121:8090/3" # redbeat 存储任务调度信息的 Redis | ||||
, | |||||
redbeat_lock_timeout=10, # 避免多个 Beat 实例冲突 | |||||
beat_max_loop_interval=5 # 让 Celery Beat 每 5 秒检查一次任务 | |||||
) | ) | ||||
task_name = "tasks.scheduled_task" | task_name = "tasks.scheduled_task" | ||||
# 任务执行间隔(每 10 秒执行一次) | # 任务执行间隔(每 10 秒执行一次) | ||||
schedule = celery.schedules.schedule(timedelta(seconds=10)) | |||||
schedule = celery.schedules.schedule(timedelta(seconds=3)) | |||||
# RedBeat 任务唯一 ID | # RedBeat 任务唯一 ID | ||||
redbeat_entry = RedBeatSchedulerEntry( | redbeat_entry = RedBeatSchedulerEntry( | ||||
@@ -27,10 +27,10 @@ def start_celery_beat(): | |||||
if __name__ == "__main__": | if __name__ == "__main__": | ||||
# 启动 FastAPI、Celery Worker 和 Celery Beat | # 启动 FastAPI、Celery Worker 和 Celery Beat | ||||
fastapi_process = start_fastapi() | fastapi_process = start_fastapi() | ||||
celery_worker_process = start_celery_worker() | |||||
celery_beat_process = start_celery_beat() | |||||
#celery_worker_process = start_celery_worker() | |||||
#celery_beat_process = start_celery_beat() | |||||
# 等待子进程完成 | # 等待子进程完成 | ||||
fastapi_process.wait() | fastapi_process.wait() | ||||
celery_worker_process.wait() | |||||
celery_beat_process.wait() | |||||
#celery_worker_process.wait() | |||||
#celery_beat_process.wait() |