本文最后更新于:星期三, 五月 20日 2020, 9:04 上午

LeanCLoud定时唤醒失败的解决方案

本篇来说一下最近常发生的因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠问题

LeanCloud 休眠策略

  1. 如果应用最近一段时间(半小时)没有任何外部请求,则休眠。
  2. 休眠后如果有新的外部请求实例则马上启动。访问者的体验是第一个请求响应时间是 5 ~ 30 秒(视实例启动时间而定),后续访问响应速度恢复正常。
  3. 强制休眠:如果最近 24 小时内累计运行超过 18 小时,则强制休眠。此时新的请求会收到 503 的错误响应码,该错误可在 云引擎 > 统计 中查看。

那么我们只要每三十分钟之内在外部访问一次不就可以解决了么?

解决方法

GitHub+Actions,模拟人工每30分钟在外部访问一次

  1. 打开github,鼠标放在右上角,选择 setting

  1. 点击Developer settings

  1. 打开Github,新建一个TOKEN。

    设置名字为 GITHUB_TOKEN(必须使用GITHUB_TOKEN)
    勾选 repo、admin:repo_hook、workflow 等选项
    点击 Generate token 即可。
    这个 TOKEN 主要使用来启动 actions 和上传结果用的。

  1. 接下来 FORK 项目。
    地址:https://github.com/darrenclover/WakeLeanCloud

  1. 成功 FORK 后,进入项目的设置。添加你的 leancloud 的后台地址(也就是评论管理的后台地址)

选择 Secrets,添加你的地址

其中 Name 的名字必须为SITE,Value 可以是多个地址,用英文半角逗号分隔。不要中文全角逗号!!!

  1. 接下来对自己的项目点个 star 就能启动了,启动后请切换到 actions,看看是否运行成功。

成功
那么你就可以关掉了,默认是每天 8:00-24:00 时每 30 分钟运行一次。(GitHub 时间稍有延迟,大概时 2-5 分钟。)
失败
请认真看本教程。

  1. 修改频率(时间)

修改.github/workflows/autoWakeup.yml 文件中的 cron 表达式即可。

原文地址:https://www.antmoe.com/posts/ff6aef7b/

本文作者:Darren
本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!

本站支持评论邮件提醒功能,在邮箱输入框中留下你的邮箱,这样就能通过邮件收到回复!