定时任务
误以为 APScheduler 会引发一些 bug,故自己编写了一个代替品
- 支持添加函数,设置时间间隔和固定时间,设置次数
scheduler_add(A,interval=86400)scheduler_add(B,at_time=(datetime.time(8,30,0)))scheduler_add(C,interval=60,count=5)scheduler_add(D,interval=300,at_once=True)(立刻执行一次)
- 同时可以传入原函数参数
scheduler_add(E,86400,interval=86400)
- 固定间隔会在间隔后再执行函数,如果需要立即执行需要设置
at_once=True - 固定时间只能处理每天的固定时间,若想固定每小时 xx 分执行一次需要自行修改函数
- 内置了在新协程中创建任务的逻辑,不会阻塞
- 内置了异常日志
令牌刷新
- 每分钟检测令牌刷新,初始化时立刻检测
- 判断需要刷新的平台
- 从 main 中传入的令牌列表(根据 config.yaml 配置判断)
- 过期时间(有效时间前 1 分钟)
- 以对应平台的参数调用对应的 API 进行刷新,返回 token 与有效时间
备份
- 执行备份 mysql 与 mongodb 的指令,一天一次
消息池清理
- 清理时间超过 1 天的消息,一天一次
网址刷新
- web.backend.app
- 刷新临时网址 uuid