跳到主要内容

定时任务

误以为 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