Blog之Valine Admin(二)LeanCloud唤醒服务
休眠策略概述
标准实例不会休眠,体验实例会执行休眠策略:
- 如果应用最近一段时间(半小时)没有任何外部请求,则休眠。
- 休眠后如果有新的外部请求实例则马上启动。访问者的体验是第一个请求响应时间是 5 ~ 30 秒(视实例启动时间而定),后续访问响应速度恢复正常。
- 强制休眠:如果最近 24 小时内累计运行超过 18 小时,则强制休眠。此时新的请求会收到 503 的错误响应码,该错误可在 云服务控制台 > 云引擎 > 云引擎分组 > 统计 中查看。
官方文档:云引擎采用什么样的休眠策略?
定时任务设置
Valine Admin 存在2种云函数,我们会针对性创建2个定时任务,国内版使用北京时间(东八区),国际版使用 UTC+0 时区。
self-wake
云函数:自动唤醒服务器Cron表达式为
0 */10 0-15 * * ?
,表示每天早8点到晚23点59分每隔10分钟访问云引擎,防止休眠。(间隔时间可以调整,不过不建议超过30分钟,以免出现休眠空档期)resend-mails
云函数:邮件补发Cron表达式为
0 0 1 * * ?
,表示每天9点检查过去24小时内漏发的通知邮件并补发。
LeanCloud 流控问题
当天运行超过18小时,导致 LeanCloud 休眠后,第二天无法通过内部定时任务正常唤醒。(即’因流控原因,通过定时任务唤醒体验版实例失败’),此时只能通过外部访问二级域名来激活容器。
腾讯云函数解决 LeanCloud 流控问题
通过创建 腾讯云云函数,来定时访问二级域名激活容器。
1 | # -*- coding: utf8 -*- |
可查看日志,是否正常运行
运行函数可能存在失败,所以可以通过缩短间隔或者加长定时区间来解决。只要成功一次,后续即可通过
LeanCloud
的定时任务自动唤醒。
参考文章
云引擎采用什么样的休眠策略?
Valine Admin 配置手册 - 定时任务设置
腾讯云函数解决 LeanCloud 流控问题
解决 LeanCloud ‘因流控原因,通过定时任务唤醒体验版实例失败’ 的问题
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 解夏!
评论