@@ -18,6 +18,7 @@ class GetConfigRequest(BaseModel): | |||
class SaveConfigRequest(BaseModel): | |||
wxid: str | |||
data: dict | |||
@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) | |||
@validate_wxid | |||
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) | |||
# if not k: | |||
# return {"code":404,"message":f"{wxid} 没有对应的登录信息"} | |||
@@ -58,11 +58,14 @@ celery_app.conf.update( | |||
timezone="Asia/Shanghai", # 设定时区 | |||
beat_scheduler="redbeat.RedBeatScheduler", # 使用 RedBeat 作为调度器 | |||
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" | |||
# 任务执行间隔(每 10 秒执行一次) | |||
schedule = celery.schedules.schedule(timedelta(seconds=10)) | |||
schedule = celery.schedules.schedule(timedelta(seconds=3)) | |||
# RedBeat 任务唯一 ID | |||
redbeat_entry = RedBeatSchedulerEntry( | |||
@@ -27,10 +27,10 @@ def start_celery_beat(): | |||
if __name__ == "__main__": | |||
# 启动 FastAPI、Celery Worker 和 Celery Beat | |||
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() | |||
celery_worker_process.wait() | |||
celery_beat_process.wait() | |||
#celery_worker_process.wait() | |||
#celery_beat_process.wait() |