Skip to content

宿主重启后按闲置策略拉回本该开着的实例 #73

Description

@earayu

现状

host-agent 起来后所有实例 status=stopped,不主动拉起。desired=running 只表示允许唤醒。闲置如此合理;换镜像 Recreate 会让当时在跑的户看起来像服务被停掉。init() 还把 lastActivity 写成现在,页面出现同一秒「活跃」。

目标

持久化最后一次租户流量时间。升级后按闲置策略推导谁该还开着,限流拉回。不新增影子进程态。

方案要点

  • meta.json 增加 lastTrafficAttouch() 节流落盘
  • init() 读盘,缺失则不返回 last_activity,禁止用现在填
  • shouldResume = desired==running && lastTrafficAt 存在 && (idle==0 || 仍在窗口内)
  • 网关先听,再并发 2 拉起
  • shutdown 只杀进程,不改 desired / lastTrafficAt

验收标准

  • 无 lastTrafficAt 或用户停止:重启后不拉起
  • 有近期流量(或 idle=0):重启后自动拉回
  • 流量已过闲置窗口:保持休眠
  • 重启后 last_activity 不是宿主苏醒时间

不做什么

不落盘 status,不加 lastProcess/resume/keep_alive,不改 Recreate。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions