Update iCloud.md
增加解决云函数热启动问题的说明
This commit is contained in:
13
iCloud.md
13
iCloud.md
@@ -36,6 +36,8 @@
|
||||
```javascript
|
||||
'use strict';
|
||||
exports.main_handler = async (event, context, callback) => {
|
||||
//解决云函数热启动问题
|
||||
delete require.cache[require.resolve('./jd_xtg1.js')];
|
||||
require('./jd_xtg1.js') //这里写你想要的脚本
|
||||
require('./jd_xtg2.js') //这里写你想要的脚本
|
||||
require('./jd_xtg3.js') //这里写你想要的脚本
|
||||
@@ -44,8 +46,7 @@ exports.main_handler = async (event, context, callback) => {
|
||||
```
|
||||
此时,同一时间点下,会同时执行多个脚本,触发器触发后,index.js文件中require()下的所有脚本都会被执行
|
||||
|
||||
**优点**:同一时间下可以同时执行多个脚本,适合脚本种类少的repository,对脚本数量少的repository推荐使用此方案
|
||||
**缺点**:多个脚本不同时间点运行无法满足
|
||||
**优点**:同一时间下可以同时执行多个脚本,适合脚本种类少的repository,对脚本数量少的repository推荐使用此方案<br>**缺点**:多个脚本不同时间点运行无法满足
|
||||
|
||||
方案二:同一个仓库下不同的时间点,分别执行不同的脚本(类似GitHub Action执行机制)
|
||||
|
||||
@@ -57,6 +58,8 @@ exports.main_handler = async (event, context, callback) => {
|
||||
'use strict';
|
||||
exports.main_handler = async (event, context, callback) => {
|
||||
for (const v of event["Message"].split("\r\n")) {
|
||||
//解决云函数热启动问题
|
||||
delete require.cache[require.resolve(`./${v}.js`)];
|
||||
console.log(v);
|
||||
require(`./${v}.js`)
|
||||
}
|
||||
@@ -66,14 +69,12 @@ exports.main_handler = async (event, context, callback) => {
|
||||
|
||||
此时触发管理按照下图中进行设置,附加信息选择“是”,内容填写需要传递执行的具体脚本文件名,以回车键换行。触发器触发后,附加信息栏内的脚本会被执行,设置多个不同时间点的触发器达到类似GitHub Action的效果
|
||||
|
||||
**优点**:可以满足个性化需求,同一个repository下只需要设置不同的触发器,可以实现不同时间点分别执行不同的脚本
|
||||
**缺点**:repository下脚本过多,如果需要设置多个触发器,实现个性化运行效果,由于云函数的限制,最多只能设置10个
|
||||
**优点**:可以满足个性化需求,同一个repository下只需要设置不同的触发器,可以实现不同时间点分别执行不同的脚本<br>**缺点**:repository下脚本过多,如果需要设置多个触发器,实现个性化运行效果,由于云函数的限制,最多只能设置10个
|
||||
|
||||
[](https://imgchr.com/i/B20KxI)
|
||||
[](https://imgchr.com/i/BRCG0H)
|
||||
|
||||
**注意:方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。目前由于云函数热启动问题的存在,频繁的触发器启动,虽然日志显示“调用成功”,但实际内容却没有执行,方案一与方案二暂时无法规避此问题,期待之后能解决**
|
||||
|
||||
**注意:方案一与方案二不能混合到同一个index.js文件中使用,同一个仓库下,二者只能选择其一。感谢[issues#115](https://github.com/lxk0301/jd_scripts/issues/115)中的解决方案,目前云函数连续测试已经可以规避热启动问题了**
|
||||
|
||||
**增加cookie**
|
||||
|
||||
|
Reference in New Issue
Block a user