定时维护任务

每天晚上,你的实例都会自动整理自己。本页说明会运行什么任务、什么时候运行,以及运行的前提条件,这样应用自动执行的操作就不会让你感到意外。

每晚执行的任务

每天有三项任务运行,都被放入低优先级队列:

  • 00:30,非活跃用户删除。 删除那些自己开启了 非活跃自动删除 功能、并且已经六个月或更长时间没有活动的用户。每次删除都会通知 ACCOUNT_DELETION_NOTIFICATION_EMAIL 中设置的地址。没有开启该功能的用户不会受到任何影响。
  • 01:00,清空回收站。 永久删除 回收站 中超过保留期限(TRASH_RETENTION_DAYS,默认 30 天)的所有内容。在保留期限内,已删除的对象仍然可以被恢复。
  • 02:00,标记逾期外借。 将已经过了归还日期、仍处于进行中的 外借 标记为逾期,让收藏者能一眼看出哪些藏品还没有归还。

这三项任务都是安全且符合预期的,它们只会作用于用户明确删除、主动开启或已经到期的内容。

需要保持运行的组件

有两个容器共同支撑着这些任务的运行:

  • scheduler 角色负责判断执行时间,并将每项任务放入队列。
  • queue 角色负责真正执行这些任务。
备注

只要其中任何一个容器停止运行,维护任务就会在无声无息中停止:回收站中的内容会超期堆积,逾期外借仍会被标记为进行中,开启了自动删除的非活跃用户也不会被清理。虽然不会出现任何报错,但任务也不会执行。如果发现每晚的维护行为似乎停止了,请检查 docker compose ps

所有任务都会在下一次成功运行时自动补齐,漏掉一晚并不是问题。

接下来去哪里

此页面有帮助吗?