昨天弄好的时候没发现这个问题,正偷着乐呢,结果今天就遇到了😢。因为很多人博客的评论都一个点开始唤醒,所以官方对免费版有了这个限制。看了网上的博客——Gtihub Action|一行命令解决 LeanCloud 流控问题,准备使用Github Actions来解决这个问题。

1. 思路

唤醒这个实例,也就是通过浏览器输入之前绑定的域名来访问它,实际上也就是向那个网络地址发送一个请求。再将这个动作做一个定时,让它帮我们按时去唤醒就好啦⏰

2. 解决方法

2.1 配置Github Actions

触发Github Actions需要在项目仓库新建一个.github/workflows子目录,里面是YAML配置文件,文件名可以随便取。Github只要发现该配置文件,就会运行Actions。

2.2 写配置文件

2.2.1 触发条件

1
2
3
4
5
6
7
name: 'Github Actions Wake LeanCloud'

# 触发条件
on:
push:
schedule:
- cron: '*/25 0-15 * * ?' # 北京时间 8:00 - 23:59, 每25分钟触发一次

其中,name字段是配置文件的描述,on字段是触发条件。这里指定两种条件触发,一是push到仓库的时候触发;二是定时任务,北京时间 8:00 - 23:59, 每25分钟触发一次。

2.2.2 运行流程

1
2
3
4
5
6
7
8
9
10
11
# 运行流程
jobs:
curl-my-site:
runs-on: ubuntu-latest
steps:
- name: 'wake'
env:
MY_SITE: ${{ secrets.SITE }}
# 发送GET请求
run:
curl $MY_SITE

job字段是运行流程,curl-my-site为流程名,runs-on: ubuntu-latest指运行环境为最新版的Ubuntu,steps字段是流程步骤,这里只有一步wake,功能是向我的二级域名发送GET请求。

2.2.3 设置秘密环境变量

将项目推送到Github仓库。

打开 Settings - Secrets,设置变量 SITE,值为之前国际版给的那个二级域名👍

3. 参考