如何根据执行日志信息重新运行和停止应用程序脚本?
How to rerun and stop app script based on the execution log info?
我正在寻找 运行 下面带有多个变量 url 的应用程序脚本,例如
https://www.testurl.com/link1=processing
https://www.testurl.com/link2=processing
https://www.testurl.com/link3=processing
如何将多个 url 添加到以下代码:
function url() {
var url = 'https://www.testurl.com/link1=processing';
var options = {
'method': 'get'
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}
带有单个 url 的每个 运行 显示在执行日志下方
3:33:30 AM Notice Execution started
3:33:31 AM Info {"status":200,"message":"Import 25 of 200 completed."}
3:33:31 AM Notice Execution completed
我正在寻找第一个 url 的重新 运行 脚本,直到我收到包含“未触发”的日志消息,然后 运行 第二个 url 和重新运行 直到我收到包含“未触发”的日志消息然后 运行 第三个 url 和 re运行 直到我收到包含“未触发”的日志消息并且然后停止。
3:33:30 AM Notice Execution started
3:33:31 AM Info {"status":403,"message":"Import #16 is not triggered. Request skipped."}
3:33:31 AM Notice Execution completed
我真的没有办法测试这个,但我认为它说明了如何做到这一点:
function getUrls() {
try {
var urls = [ 'https://www.testurl.com/link1=processing',
'https://www.testurl.com/link2=processing',
'https://www.testurl.com/link3=processing' ];
function getUrl(url) {
var options = { 'method': 'get' };
var response = UrlFetchApp.fetch(url, options);
while( response.message.indexOf("is not triggered") < 0 ) {
Logger.log(response);
response = UrlFetchApp.fetch(url, options);
}
}
urls.forEach( getUrl );
}
catch(err) {
Logger.log(err);
}
}
我正在寻找 运行 下面带有多个变量 url 的应用程序脚本,例如
https://www.testurl.com/link1=processing
https://www.testurl.com/link2=processing
https://www.testurl.com/link3=processing
如何将多个 url 添加到以下代码:
function url() {
var url = 'https://www.testurl.com/link1=processing';
var options = {
'method': 'get'
};
var response = UrlFetchApp.fetch(url, options);
Logger.log(response);
}
带有单个 url 的每个 运行 显示在执行日志下方
3:33:30 AM Notice Execution started
3:33:31 AM Info {"status":200,"message":"Import 25 of 200 completed."}
3:33:31 AM Notice Execution completed
我正在寻找第一个 url 的重新 运行 脚本,直到我收到包含“未触发”的日志消息,然后 运行 第二个 url 和重新运行 直到我收到包含“未触发”的日志消息然后 运行 第三个 url 和 re运行 直到我收到包含“未触发”的日志消息并且然后停止。
3:33:30 AM Notice Execution started
3:33:31 AM Info {"status":403,"message":"Import #16 is not triggered. Request skipped."}
3:33:31 AM Notice Execution completed
我真的没有办法测试这个,但我认为它说明了如何做到这一点:
function getUrls() {
try {
var urls = [ 'https://www.testurl.com/link1=processing',
'https://www.testurl.com/link2=processing',
'https://www.testurl.com/link3=processing' ];
function getUrl(url) {
var options = { 'method': 'get' };
var response = UrlFetchApp.fetch(url, options);
while( response.message.indexOf("is not triggered") < 0 ) {
Logger.log(response);
response = UrlFetchApp.fetch(url, options);
}
}
urls.forEach( getUrl );
}
catch(err) {
Logger.log(err);
}
}